Übersetzen Sie das PHP-Skript, um die CSV-Datei zu lesen und mehrmals Echo zurückzugeben
P粉127901279
P粉127901279 2023-08-06 19:24:52
0
1
629
<p>Ich habe ein PHP-Skript geschrieben, das eine CSV-Datei liest und den resultierenden Radioplan basierend auf Uhrzeit und Datum auf einer Website veröffentlicht. Es scheint jedoch, dass es zweimal veröffentlicht wird. <br /><br />Das Folgende ist der Skriptinhalt:</p><p><br /></p> <pre class="brush:php;toolbar:false;"><?php // Schritt 1: Ersetzen Sie „data.csv“ durch den Pfad zu Ihrer CSV-Datei $csvFile = 'schedule.csv'; // Schritt 2: CSV lesen und seinen Inhalt in einem Array speichern if (($handle = fopen($csvFile, 'r')) !== false) { $csvData = []; while (($data = fgetcsv($handle)) !== false) { $csvData[] = $data; } fclose($handle); } anders { die("Fehler beim Öffnen der CSV-Datei."); } // Schritt 3: Ermitteln Sie den aktuellen Tag und die aktuelle Uhrzeit $currentDay = date('l'); // l gibt die vollständige Textdarstellung des Tages an (z. B. „Montag“) $currentHour = date('H'); // H gibt die Stunde im 24-Stunden-Format an (z. B. „13“ für 13:00 Uhr) // Stundenversatz unten anpassen. $Stunde = $aktuelleStunde+1; // Schritt 4: Filtern Sie das Array basierend auf dem aktuellen Tag und der aktuellen Uhrzeit $filteredData = []; foreach ($csvData as $row) { // Angenommen, Ihre CSV-Datei enthält eine Spalte „Tag“ und eine Spalte „Uhrzeit“. $day = $row[0]; $time = intval($row[1]); $program_name= $row[2]; $program_when= $row[2]; $program_img= $row[4]; // Überprüfen Sie, ob die Zeile mit dem aktuellen Tag und der aktuellen Uhrzeit übereinstimmt if ($day === $currentDay && $Hour >= $time) { $filteredData[] = $row; } } // Schritt 5: Zeigen Sie die gefilterten Daten mit CSS-Klassen für jede Zeile an if (count($filteredData) > 0) { foreach ($filteredData as $row) { echo "<div class='row'>"; echo "<div class='col-5'>"; echo "<img src='$row[4]' width='90' height='90' border='0'>"; echo "</div>"; echo "<div class='col-7'>"; echo "<h3>$row[2]<br>$row[3]</h3>"; echo "</div>"; echo "</div>"; } } anders { echo 'Nicht verfügbar.'; }</pre> <p>Dies sind die Daten, mit denen ich in einer CSV-Datei getestet habe: </p> <pre class="brush:php;toolbar:false;">Freitag,12,MMV,bis 13 Uhr,top_mmv.png Freitag,13,MMV,bis 14 Uhr,top_mmv.png Freitag,14,MMV,bis 15 Uhr,top_mmv.png Freitag,15,MMV,bis 16 Uhr,top_mmv.png</pre> <p>Aber wenn es am Freitag 14 Uhr ist, werden sowohl die 13-Uhr- als auch die 14-Uhr-Zeile gepostet. Was habe ich falsch gemacht? </p>
P粉127901279
P粉127901279

Antworte allen(1)
P粉481815897

你需要指定收集数据的条件,

if ($day === $currentDay && $Hour >= $time) {

例如,现在的当前时间是14点(加1小时是你的调整)。

$Hour >= $time

15 >= time from first line of csv is 12 - true
15 >= time from second line of csv is 13 - true
15 >= time from third line of csv is 14 - true
15 >= 15 - true

我认为你可以看到问题出在哪里。

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