[RESOLU] Ne pas prendre les derniers résultats

Eléphant du PHP | 51 Messages

29 oct. 2021, 11:08

bonjour à tous j'ai cette requête qui fonctionne très bien

Code : Tout sélectionner

// REquete $sql = "SELECT * FROM gages_1 WHERE argument1 =$argument_tmp LIMIT 1"; if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ while($row = mysqli_fetch_array($result)){ echo "<td>" . $row['texte']."</td>"; echo $row['titre']; $current_id=$row['id']; } mysqli_free_result($result); } else{ } } else{ echo "Erreur du système merci de contacter le support. $sql. " . mysqli_error($link); } // ici j'ai l'id actif qui ne doit pas etre retrouve plus tard echo $current_id; $tableau = array(); array_push($tableau, $current_id,); $_SESSION['tableau'] = $tableau; echo '<br/>Conetnu de $_SESSION[\'tableau\']:<pre>'.print_r($_SESSION['tableau'],TRUE).'</pre>'; if (in_array($current_id, $tableau)) { echo "Le resultat est le même :("; }

Ma question est comment exclure d'une prochaine recherche les ID contenu dans mon array ?

Merci de votre aide

Eléphant du PHP | 51 Messages

29 oct. 2021, 12:03

Bon alors ma solution

J'iinitialise un array sous forme de session

Dans mon while je check si l'id est déjà présent
si oui je continue mon while

si non je break le while et j'inscris mon nouvel id avant de continuer comme ca je n'ai aucun risque de retomber sur mon ID :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

29 oct. 2021, 12:07

Soit en SQL avec NOT IN ()
https://sql.sh/cours/where/in

Soit en PHP avec une ligne à mettre dans ton while :
if(in_array(........)) continue; 
https://php.net/in_array
https://www.php.net/continue
Quand tout le reste a échoué, lisez le mode d'emploi...