Afficher 5 derniers enregistrements

Eléphant du PHP | 440 Messages

17 janv. 2007, 22:44

Bonjour,
je vous livre ce code :
<?php 
    $table = "organismes"; 
    $sql = "SELECT * FROM " . $table." WHERE valid =1 ORDER BY REF DESC LIMIT 0,5 "; 
    $res = mysql_query($sql); 
    $nb = mysql_num_rows($res);
    $i = 0; 
	echo '<table>'; 
    while ($i < $nb){ 
    $logo = mysql_result($res, $i, "LOGO"); 
	$site = mysql_result($res, $i, "SITE"); 
	if ($logo!="") 
{   
    echo '<td valign="top"><center><a href="http://'.$site.'" target="cadre"><img src="http://'.$logo.'" border="0" width="110" length="230"/></center></a></td>';     
}
        echo '</tr>';
        $i++; 
    } 
    echo '</table>';
	
?>
Il devrait, théoriquement, afficher les 5 derniers logos présents dans ma table. Or, il n'affiche que le dernier.
J'ai trituré ce code dans tous les sens sans résultat.

Si quelqu'un a une idée, elle sera la bienvenue.
Débutant complet en php/mysql. Merci pour votre aide.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

17 janv. 2007, 22:53

Et si tu supprimes le ORDER BY REF DESC, ça donne quoi ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 janv. 2007, 22:54

http://www.phpfrance.com/forums/voir_re ... php#173298 :roll:

JE sais pas... as tu testé la requete directement dans phpmyadmin (par exemple)

Il te manque un <tr>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

17 janv. 2007, 22:58

Et si tu supprimes le ORDER BY REF DESC, ça donne quoi ?
S'affichent alors les 4 premiers logos. Pourquoi 4 ??
Débutant complet en php/mysql. Merci pour votre aide.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

17 janv. 2007, 23:03

Combien d'enregistrements dans ta table ont pour valeur 1 dans le champ valid ?

Eléphant du PHP | 440 Messages

17 janv. 2007, 23:07

http://www.phpfrance.com/forums/voir_re ... php#173298 :roll:

JE sais pas... as tu testé la requete directement dans phpmyadmin (par exemple)

Il te manque un <tr>
J'ai rajouté le <tr>, mais ça ne change rien.
Pour tester dans phpmyadmin, on va dans SQL ou dans Requête ? Et on tape quoi l'ensemble du code ou juste la partie $sql= ?
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 janv. 2007, 23:17

J'ai rajouté le <tr>, mais ça ne change rien.
je n'ai jamais dis le contraire... c'était juste une remarque. :wink:
Manque un <pre>... va-t-il me croire sur parole ? :lol:

Sinon garde ce post en mémoire.
Pour tester dans phpmyadmin, on va dans SQL ou dans Requête ?
dans SQL, avec la requete sans variables sans $sql= avec de vrai valeurs.
fait un echo $sql et tu copie/colle ce qu'il y a à l'écran.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

17 janv. 2007, 23:20

Combien d'enregistrements dans ta table ont pour valeur 1 dans le champ valid ?
Tous. Et il y en a plus que 5.
24 enregistrements dont 7 logos.
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 440 Messages

17 janv. 2007, 23:24

dans SQL, avec la requete sans variables sans $sql= avec de vrai valeurs.
fait un echo $sql et tu copie/colle ce qu'il y a à l'écran.
J'ai tapé ça :
SELECT * FROM `organismes` WHERE valid=1 ORDER BY DESC LIMIT 0,5
j'ai obtenu ça :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DESC LIMIT 0,5' at line 1

Je n'ai pas du écrire ce qu'il fallait !
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 janv. 2007, 23:25

24 enregistrements dont 7 logos.
forcément si dans les 5 derniers enregistrements il n'y a qu'un logo tu n'en veras pas plus

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 janv. 2007, 23:27

ORDER BY quoi ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

17 janv. 2007, 23:28

Il y a 7 logos en tout.
Si j'arrête mon code à ORDER BY DESC : les 7 s'affichent.
Si je rajoute LIMIT 0, 5 : il n'y a plus que le dernier.
Débutant complet en php/mysql. Merci pour votre aide.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 janv. 2007, 23:30

24 enregistrements dont 7 logos.
forcément si dans les 5 derniers enregistrements il n'y a qu'un logo tu n'en veras pas plus
j'aime bien m'auto-citer 8-)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

17 janv. 2007, 23:33

j'aime bien m'auto-citer 8-)
Bravo ! :? Ca apporte quoi ?
Débutant complet en php/mysql. Merci pour votre aide.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

17 janv. 2007, 23:36

L'espoir que premièrement, tu lises ce qui est écrit ; deuxièmement, tu comprennes ce que tu as lu.