Ma question en est une de traitement PHP des résultats obtenus par une requête MySQL. J'ai de très grosses requêtes à gérer, tant et si bien que je dois les séparer. Les séparant, je passe de 12 secondes de traitement à 2. L'inclusion n'est donc pas une bonne solution.
Voici donc ma question: comment exploiter le résultat obtenu par la première requête le plus simplement possible?
Voici où j'en suis (avec des requêtes abrégées) :
//Première requête:
$requete1 = "SELECT * FROM personnes WHERE série_de_criteres";
$resultat1 = msyql_query($requete1, $db);
//Ici, je récupère les résultats pour en faire une liste
$Liste = "0, ";
while ($Details1 = mysql_fetch_object($resultat1)) {
$Liste .= $Details1->id->personne.", ";
}
//La liste est insérée dans la seconde requête
[php]$requete2 = "SELECT * FROM inscrits WHERE NOT IN ( ".$Liste." )";
$resultat1 = msyql_query($requete1, $db);blababla
[/php]
Les détails du code et des bases importent peu. Ce que je cherche, c'est de sauter l'étape de construction de la liste.
N'y a-t-il pas une fonction du style "explode" ou devrais-je utiliser mysql_fetch_array (et comment) ou que me proposez-vous pour simplifier la chose? Je trouve étonnant de ne pouvoir exploiter directement un tableau dans une fonction qui demande un tableau.
$requete2 = "SELECT * FROM inscrits WHERE NOT IN ( ".explode($resultat1)." )";
Je n'y arrive pas.Merci de votre aide.