Traduire le script PHP pour lire le fichier CSV et renvoyer l'écho plusieurs fois
P粉127901279
P粉127901279 2023-08-06 19:24:52
0
1
607
<p>J'ai écrit un script PHP qui lit un fichier CSV et publie le programme radio obtenu sur un site Web en fonction de l'heure et de la date. Cependant, il semble qu'il sera publié deux fois. <br /><br />Ce qui suit est le contenu du script :</p><p><br /></p> <pre class="brush:php;toolbar:false;"><?php // Étape 1 : Remplacez 'data.csv' par le chemin d'accès à votre fichier CSV $csvFile = 'programmation.csv'; // Étape 2 : Lire le CSV et stocker son contenu dans un tableau if (($handle = fopen($csvFile, 'r')) !== false) { $csvData = []; while (($data = fgetcsv($handle)) !== false) { $csvData[] = $données ; } fclose($poignée); } autre { die("Erreur à l'ouverture du fichier CSV."); } // Étape 3 : Obtenir le jour et l'heure actuels $currentDay = date('l'); // l donne la représentation textuelle complète du jour (par exemple, "Lundi") $currentHour = date('H'); // H donne l'heure au format 24 heures (par exemple, "13" pour 13 heures) // Ajustez le décalage horaire ci-dessous. $Heure = $heureactuelle+1 ; // Étape 4 : Filtrer le tableau en fonction du jour et de l'heure actuels $filteredData = []; foreach ($csvData comme $row) { // En supposant que votre fichier CSV possède une colonne "Jour" et une colonne "Heure" $jour = $ligne[0] ; $time = intval($row[1]); $program_name= $row[2]; $program_when= $row[2]; $program_img= $row[4]; // Vérifiez si la ligne correspond au jour et à l'heure actuels if ($day === $currentDay && $Hour >= $time) { $filteredData[] = $ligne ; } } // Étape 5 : Afficher les données filtrées avec les classes CSS pour chaque ligne 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>"; } } autre { echo 'Non disponible.'; }</pré> <p>Voici les données avec lesquelles j'ai testé dans un fichier CSV : </p> <pre class="brush:php;toolbar:false;">Vendredi 12,MMV,jusqu'à 13h,top_mmv.png Vendredi 13,MMV,jusqu'à 14h,top_mmv.png Vendredi 14,MMV,jusqu'à 15h,top_mmv.png Vendredi 15,MMV,jusqu'à 16h,top_mmv.png</pre> <p>Mais lorsqu'il arrive à 14 heures le vendredi, il publie les lignes de 13 heures et de 14 heures. Qu'ai-je fait de mal? </p>
P粉127901279
P粉127901279

répondre à tous(1)
P粉481815897

Vous devez préciser les conditions de collecte des données,

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

Par exemple, l'heure actuelle est maintenant 14 heures (ajoutez 1 heure est votre ajustement).

$Heure >= $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

Je pense que vous pouvez voir où est le problème.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal