Bonjour,
j'ai une requête qui recherche les identifiants d'auteurs enregistrés dans ma base de données, en les plaçant dans une chaîne qui débute par array(
Si je fais un écho echo $resauteur2; j'obtiens le bon résultat, à savoir : array(23,18,21,65,12,2,104,78,134,136,6,59,5,79,14,216,60,133,51,115)
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $resauteur2='array('; // ouvre la chaîne $auteur='SELECT * FROM utilisateurs WHERE auteur>0 '; $sqlauteur=mysql_query ($auteur) or die ('Erreur SQL !'.$auteur.'<br />'.mysql_error()); while($dataauteur = mysql_fetch_array($sqlauteur)) { $resauteur2=$resauteur2 . $dataauteur['auteur'].','; // écrit une virgule après chaque item } $l=strlen($resauteur2)-1; $resauteur2=substr($resauteur2,0,$l).')'; // enlève la dernière virgule et ferme la parenthèse
Je veux maintenant utiliser ce résultat pour rechercher dans ma base de données tous les articles qui ne sont pas attribués à ces auteurs-là:
ça ne fonctionne pas alors que, si j'écris le même code en remplaçant ma variable $resauteur2 par sa valeur, ça marche :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $selaut='SELECT * FROM article_auteur WHERE identifiant_article="'.$id_article.'"'; $sqlaut=mysql_query ($selaut) or die ('Erreur SQL !'.$selaut.'<br />'.mysql_error()); while($dataaut = mysql_fetch_array($sqlaut)) { if(! in_array($dataaut['identifiant_auteur'],$resauteur2)) {echo $resultat;} }Je n'arrive pas à comprendre. Je serais heureuse si quelqu'un pouvait m'aider.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $resauteur2b=array(23,18,21,65,12,2,104,78,134,136,6,59,5,79,14,216,60,133,51,115); $selaut='SELECT * FROM article_auteur WHERE identifiant_article="'.$id_article.'"'; $sqlaut=mysql_query ($selaut) or die ('Erreur SQL !'.$selaut.'<br />'.mysql_error()); while($dataaut = mysql_fetch_array($sqlaut)) { if(! in_array($dataaut['identifiant_auteur'],$resauteur2)) {echo $resultat;} }
Partager