Fehler: PHP schlägt bei der Verarbeitung fehl, wenn für das Datum keine Daten zurückgegeben werden
P粉038856725
P粉038856725 2023-09-10 11:49:01
0
1
580

Ich kann nicht beide Datenbanken betreiben. Wenn Daten vorhanden sind, die dem Datum entsprechen, drucke ich den Durchschnitt in einer Spalte aus. Wenn keine Daten vorhanden sind, die dem Datum entsprechen, erhalte ich die folgende Fehlermeldung. Ich muss ein „else“ eingeben, kann es aber nicht ausführen, wenn ich es eingebe. Mein Code lautet wie folgt;

<?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

Antworte allen(1)
P粉285587590

我建议您检查条件之前或内部的值不为空,并且能够以特定格式创建 dateTime 对象

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

如果日期时间字符串能够创建日期时间对象,上面将返回日期时间对象,否则将返回 FALSE 布尔值。这样你就可以执行你的 else 部分。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage