cari

Rumah  >  Soal Jawab  >  teks badan

标题重写为:PHP gagal diproses apabila tiada data dikembalikan untuk tarikh tersebut

Saya tidak boleh mengendalikan kedua-dua pangkalan data. Sekiranya terdapat data yang sama dengan tarikh, saya mencetak purata dalam satu lajur. Jika tiada data yang sama dengan tarikh, saya mendapat ralat berikut. Saya perlu menaip "lain" tetapi saya tidak dapat menjalankannya apabila saya menaipnya. Kod saya adalah seperti berikut;

<?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粉038856725P粉038856725460 hari yang lalu571

membalas semua(1)saya akan balas

  • P粉285587590

    P粉2855875902023-09-11 09:17:08

    Saya mengesyorkan anda menyemak sama ada nilai sebelum atau di dalam keadaan itu bukan batal dan boleh mencipta objek dateTime dalam format tertentu

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

    Di atas akan mengembalikan objek datetime jika rentetan datetime mampu mencipta objek datetime, jika tidak, ia akan mengembalikan nilai boolean FALSE. Dengan cara ini anda boleh melaksanakan bahagian anda yang lain.

    balas
    0
  • Batalbalas