Rumah > Soal Jawab > teks badan
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粉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.