標題重寫為:PHP fails to process when there is no data returned for the date
P粉038856725
P粉038856725 2023-09-10 11:49:01
0
1
552

我無法操作兩個資料庫。 如果有等於日期的數據,我會在一列中列印平均值。 如果沒有等於日期的數據,我會收到以下錯誤。 我需要輸入一個“else”,但是當我輸入時我無法讓它運行。 我的程式碼如下;

<?php
                         $Sor = $conn->query("SELECT * FROM yemeklistesi");
                    //burada satırları dizi olarak çektik
                        $rows = $Sor->fetchAll(PDO::FETCH_ASSOC); 
                        foreach ($rows as $row) {
                        $id = $row['id'];
                        $kullaniciadi = $row['yemek'];
                        $sifre = $row['tarih'];
                 ?>
                    <tr>
                        <td><?php echo $row['id']; ?></td>
                        <td><?php echo $row['yemek']; ?></td>
                        <td><?php echo $row['tarih']; ?></td>
                        <td style="background-color: green; color:#fff; font-size:20px;">
                            <?php

                                    // echo strtotime($row['tarih']);
                                $bilgiler = $conn->query("SELECT * FROM yemekhane_anket");
                                $bilgilercek=$bilgiler->fetchAll(PDO::FETCH_ASSOC);
                                    $say = 0;
                                    $mem = 0;
                                 foreach ($bilgilercek as $row2) {
                                    $a = strtotime($row2['tarih']);
                                    if(strval($row['tarih']) == strval(date('Y-m-d',$a))){
                                        $say = $say + 1;
                                    }
                                    if(strval($row['tarih']) == strval(date('Y-m-d',$a)) && strval($row2['memnuniyet_durumu']) == '1'){
                                        $mem = $mem + 1;
                                    }
                                 }
                                echo round(intval($mem) * 100/intval($say));
                             ?>
                        %</td>

                    </tr>
               <?php }

                ?>

P粉038856725
P粉038856725

全部回覆(1)
P粉285587590

我建議您檢查條件之前或內部的值不為空,並且能夠以特定格式建立 dateTime 物件

date_create_from_format(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false

如果日期時間字串能夠建立日期時間對象,上面將傳回日期時間對象,否則將傳回 FALSE 布林值。這樣你就可以執行你的 else 部分。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!