Page 1 sur 1

Supprimer une ligne sous conditions

Posté : 09 nov. 2021, 12:31
par loribac
Petit nouveau ! | 6 Messages Aujourd’hui, 10:23
Bonjour, j 'ai essayé cette méthode avec "unset" mais sans. Je poste ici le code complet si qq pouvais me donner quelque pistes. LE but est de supprimer les lignes qui contiennent une valeur < 310 ceci étant exprimé dans la variable $insta . Merci pour vos conseils

<?php



$tab = file('fichier.csv');
unset($tab[0]);
foreach($tab as $line) {

$tab = explode(",",$line);

// On identifie les valeurs intéressantes

$status0 = $tab[0];
$status1 = $tab[1];
$status2 = $tab[2];
$status5 = $tab[5];
$status6 = $tab[6];


$h = substr("$status6", 0,2); // ici le timestamp

$m = substr("$status6", 2,2); // ici le timestamp


$inta = substr("$status2", 0,3); // ici le timestamp

//if ($insta < "310");

$data=" L.marker([$status0 ,$status1], { icon: CautionIcon } ) . bindPopup ('</a><center>Stations<br><br> $inta<br>$status5 A $h H $m</center></a>') .addTo( map );";


f(substr_count($data, $insta < 310) ) { // GRRRRRRRR !
//unset($data); //GRRRRRRRR !
} //GRRRRRRRR !



echo("$data"."\n");


}






?>

Re: Supprimer une ligne sous conditions

Posté : 09 nov. 2021, 13:38
par or 1
à quoi ça sert de vouloir supprimer une ligne ?
si le but est de n'afficher que certains maker selon une condition, il suffit de faire une boucle et d'afficher dans la boucle les éléments souhaités.

il faut partir de quelque chose du genre :
//if ($insta < "310");
pour la condition, avec un var_dump($insta); avant pour bien ajuster le test en fonction du type.

Re: Supprimer une ligne sous conditions

Posté : 09 nov. 2021, 15:16
par loribac
Ok je vais travailler sur cela merci du conseil :D

Re: Supprimer une ligne sous conditions

Posté : 10 nov. 2021, 23:43
par loribac
Bonsoir
pas bcp avancé j 'ai fait ca

if ($insta < "300");
var_dump($insta);

cela donne ca NULL L.marker([36.15178 ,33.17092], { icon: CautionIcon } ) sur toutes les lignes ... bon je continu a chercher

Re: Supprimer une ligne sous conditions

Posté : 12 nov. 2021, 18:16
par two3d
Ta déclaré $inta, pas $insta ;)

Re: Supprimer une ligne sous conditions

Posté : 12 nov. 2021, 18:52
par loribac
Bonjsoir two3d , oups! oui .... j 'ai modifié mais cela ne change rien

Re: Supprimer une ligne sous conditions

Posté : 12 nov. 2021, 18:53
par or 1
si, cela ne doit plus afficher NULL

Re: Supprimer une ligne sous conditions

Posté : 12 nov. 2021, 22:18
par two3d
Utilise echo sans parenthèses. ceci suffira:

Code : Tout sélectionner

echo "$data\n"; // pour info \n ne fonctionne pas avec des simples guillemets, seulement les doubles

Re: Supprimer une ligne sous conditions

Posté : 13 nov. 2021, 13:49
par loribac
Ok merci de ton aide two3d
Apres avoir fait cela les lignes contenants la variable $insta ne sont pas supprimées ... je creuse

if ($insta <"320");
var_dump($insta);

$data="L.marker([$status0 ,$status1], { icon: CautionIcon } ) . bindPopup ('</a><center>INCENDIE<br><br> $inta<br>$status5 A $hr1 H $m</center></a>') .addTo( map );";
echo "$data\n";

Re: Supprimer une ligne sous conditions

Posté : 13 nov. 2021, 15:48
par two3d
Débug, pas à pas, commence déjà par vérifier qu'est ce que contient la variable $insta, si ton substr cible bien un numéro et pas "un espace et le numéro" (ou autre)

Ensuite si $insta contient bien un numéro tu peux essayer de la caster puis de mettre 320 en entier, pas une chaine de caractères:

Code : Tout sélectionner

if ((int)$insta < 320);
Tu vois, rien qu'en essayant de débuguer je viens de m’apercevoir que ton if se termine par un ";" ton erreur est sans doute là si insta est un numéro :wink: if/else PHP (doc)

Quand ça fonctionne pas, débug pas à pas.

Re: Supprimer une ligne sous conditions

Posté : 13 nov. 2021, 19:31
par loribac
ah ok merci je m 'exécutes
Bon mon var dump donne ca c 'est mieux
string(3) "300"
string(3) "325"
string(3) "302"
string(3) "304"
string(3) "300"
string(3) "304"
string(3) "311"
string(3) "309"
string(3) "308"
string(3) "316"
string(3) "306"
string(3) "324"
string(3) "301"
string(3) "311"
string(3) "302"
string(3) "301"
string(3) "306"
string(3) "304"
string(3) "303"
string(3) "303"
string(3) "304"
string(3) "300"
string(3) "300"
string(3) "300"
string(3) "303"
string(3) "304"

Re: Supprimer une ligne sous conditions

Posté : 14 nov. 2021, 12:31
par loribac
Bonjour, j 'ai trouvé le moyen de ne pas afficher les Marker sous condition . Cela fonctionne mais c'est pas beau

$b="320";

if ($insta < $b) {

echo ("//");
}

$data=" L.marker([$status0 ,$status1], { icon: CautionIcon } ) . bindPopup ('</a><center>INCENDIE<br>ou<br>POINT CHAUD INDUSTRIEL<br>$inta<br>$status5 A $hr1 H $m<br> </center></a>') .addTo( map);"

echo "$data\n";



}