Soucis avec modulo

Eléphant du PHP | 153 Messages

25 sept. 2006, 17:53

Oui effectivement, tu as raison ( bon ça c'est normal aussi :lol: )

J'ai donc concervé $compteur
C'est nickel, il ne me reste plus qu'à mettre tout cela en forme.

Merci pour tout. :wink:

Eléphant du PHP | 153 Messages

06 nov. 2006, 09:52

Bonjour à tous,

J'ai un petit soucis avec l'ordre d'affichage.

Dans mon second SELECT, je veux ordonner les résultats par "ORDER BY votes DESC". Mais l'affichage se fait par les "catID" du premier SELECT.

Voici le code :
$q = "SELECT catID FROM categories WHERE parent = '$catID' ";
	$r = mysql_query($q) or die(mysql_error());
	$compteur = 0;
	while ($row = mysql_fetch_array($r))
	{
		
		$sql_prod = "SELECT prodID, catID, name FROM produits WHERE catID = '" .$row['catID']. "' ORDER BY votes DESC";
		$result_prod = mysql_query($sql_prod) or die(mysql_error());
		while ($row2 = mysql_fetch_array($result_prod))
		{
			/* Si on est à la première de 2 photos, on crée la nouvelle ligne */ 	
			if ($compteur % 2 == 0)
			{
Est-il possible de forcer l'ordre d'affichage en fonction du "ORDER BY votes DESC" ?

Merci pour votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 nov. 2006, 10:46

Il me semble qu'il faut que le champ que tu mets dans le ORDER BY doit être dans le SELECT pour que ça fonctionne correctement :-k

A vérifier
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 153 Messages

06 nov. 2006, 10:51

Il me semble qu'il faut que le champ que tu mets dans le ORDER BY doit être dans le SELECT pour que ça fonctionne correctement :-k

A vérifier
Quel SELECT ? Le premier ?

Si c'est le cas, je suis mal, car le champ "votes" n'est pas dans la même table ! :roll:
Donc je ne pourrai pas ordonner mes résultats, comme je le souhaite.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 nov. 2006, 11:25

Bah ... :?

Tu doit mettres le champs du ORDER BY dans le SELECT de la même requete ...

Mais si ce champs n'est pas dans une des tables de la requetes, tu ne pourras l'utiliser dans le ORDER BY :-k
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 153 Messages

06 nov. 2006, 12:31

C'est bon !

J'ai réduit à 1 seule requête sql en rajoutant un champ "parent" à la table produits. Et là, j'ai bien l'affichage ordonné par "votes" :D

Il faut simplement que je modifie le formulaire où je rentre mes produits pour lui rajouter ce champ supplémentaire.

Merci :wink: