Page 1 sur 1

Ne pas prendre les derniers résultats

Posté : 29 oct. 2021, 11:08
par stevefigueras
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

Re: [RESOLU] Ne pas prendre les derniers résultats

Posté : 29 oct. 2021, 12:03
par stevefigueras
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 :)

Re: Ne pas prendre les derniers résultats

Posté : 29 oct. 2021, 12:07
par @rthur
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