JeuWeb - Crée ton jeu par navigateur
Requete avec plusieurs contraintes - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Requete avec plusieurs contraintes (/showthread.php?tid=7211)

Pages : 1 2 3


RE: Requete avec plusieurs contraintes - Xenos - 20-06-2014

mysql_* est déprécié depuis un moment, il risque donc de sauter à tout instant et de ne plus être disponible dans les prochaines versions de PHP... Bon, sinon, procédural ou objet, il suffit d'adapter et de changer les:

$mysqli->method(...);
par

mysql_method($mysqlConnection, ...);

Pour stocker puis afficher plus tard, tu fais exactement comme ma première proposition: $resultats est un tableau de mysql_result que tu peux, plus tard, parcourir pour les afficher.
Après, tu peux rajouter encore une couche intermédiaire, en parcourant ces résultats pour les stocker dans un tableau PHP:


$resultatsTableau = array();
foreach ($resultats as $index=>$resultatCategorie)
{
$resultatsTableau[$index] = array();
while ( ($ligne = mysql_fetch_assoc($resultatCategorie)) )
{
$resultatsTableau[$index][] = $ligne;
}
}

// faire les affichages plus tard, en utilisant $resultatsTableau

Dans un tel cas, une requête plus simple:

SELECT *
FROM `forum_auteur`

Evitera la boucle imbriquée:


$resultatsTableau = array_fill(1, 12, array());
while ( ($ligne = mysql_fetch_assoc($resultats)) )
{
$index = (int)$ligne['correspondance_sujet'];
$resultatsTableau[$index][] = $ligne;
}

// faire les affichages plus tard, en utilisant $resultatsTableau

Mais si le nombre de messages devient grand (des milliers/millions), le tableau PHP va exploser en taille...