Limit by desc

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Limit by desc

par charabia » 11 janv. 2007, 12:30

Tout ton code avec le DESC m'affiche bien les 5 derniers. Si je mets ASC ce sont bien les 5 premiers, donc le souci doit venir d'ailleurs.

Tu ouvres phpMyAdmin --> SQL et tu y colles ta requête puis exécutes. S'il y a une erreur tu auras un message.

par cmoi » 11 janv. 2007, 12:23

J'ai testé ça fonctionne très bien chez moi.
Qu'est-ce qui fonctionne bien ?
DESC LIMIT 0,5 ??
Exécutes ta requête avec phpMyAdmin pour voir si tu as une erreur quelconque.
Comment on fait ça ?[/quote]

par charabia » 11 janv. 2007, 12:14

J'ai testé ça fonctionne très bien chez moi.

Exécutes ta requête avec phpMyAdmin pour voir si tu as une erreur quelconque.

par cmoi » 11 janv. 2007, 11:23

voici le code complet :
<?php 
    $table = "organismes"; 
    $sql = "SELECT * FROM " . $table." ORDER BY REF 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="'.$site.'" target="cadre"><img src="'.$logo.'" border="0" width="110" length="230"/></center></a></td>';     
}
else
{
echo '<td length="260">'.'</td>';
}
        
        $i++; 
    } 
    echo '</table>';
	
?>
Tel quel 4 logos s'affichent. Si je rajoute DESC devant LIMIT, 1 seul (le dernier) s'affiche. Et si je ne mets aucune LIMIT, ils s'affichent tous (normal !).

Je rappelle que je souhaite afficher les 5 derniers.

par mojorisin » 11 janv. 2007, 08:53

Salut,
je ne suis pas sur à 100% mais il me semble que le mot "ref" est un mot réservé.
Essais avec un order by `ref` pour voir

par Truc » 11 janv. 2007, 01:23

Tu exécutes la requête après ça ? 8-|

Sinon as tu aussi suivi le lien de mon 1er message vers un sujet du Forum pour apprendre à débugger ?

par albat » 11 janv. 2007, 00:59

Ne prends pas mal les moqueries.
Elles ne révèlent aucune méchanceté, mais simplement le fait qu'il n'est pas normal
qu'un bug d'apparence aussi simple ne soit pas résolu après déjà 11 messages.

Avec le peu d'infos que tu nous donnes, difficile de progresser plus vite.

En outre, tu ne sembles pas suivre nos recommandations... :roll:
:idea: Précise les champs dans ton SELECT
Quelle est la structure de ta table ?
Quel est son contenu ? (si ce n'est pas confidentiel, ni trop volumineux)

par cmoi » 11 janv. 2007, 00:53

il y a beaucoup de moqueries ... n'empêche que ce code
  $sql = "SELECT * FROM " . $table." ORDER BY REF DESC LIMIT 0,5 "; 
ne donne rien. Rien ne s'affiche !

Re: Limit by desc

par Truc » 10 janv. 2007, 22:49

Il n'y a pas un "by" de trop entre REF (...) et DESC ?!
Dans le genre de celui que j'ai supprimé dans ma proposition ?... :-*
Vi vi dans le genre...
Le même...


d'où le :
il ne sait même pas pourquoi ni comment

Re: Limit by desc

par albat » 10 janv. 2007, 22:47

Il n'y a pas un "by" de trop entre REF (...) et DESC ?!
Dans le genre de celui que j'ai supprimé dans ma proposition ?... :-*

Re: Limit by desc

par Truc » 10 janv. 2007, 22:44

$sql = "SELECT * FROM " . $table." ORDER BY REF by DESC limit 0,5 "; 
L'erreur a été corrigée et il ne sait même pas pourquoi ni comment :-({|=

Il n'y a pas un "by" de trop entre REF (par convention écrire les champs en minuscule) et DESC ?!

par albat » 10 janv. 2007, 22:02

Il était une fois, un magnifique outil magique qu'on appelait "la doc en ligne"... :lol:

par cmoi » 10 janv. 2007, 21:56

j'en ai plus d'une vingtaine !

mais j'aimerais bien comprendre la logique du 0,...

par albat » 10 janv. 2007, 21:48

Es-tu sûr d'avoir plus de 4 enregistrements dans ta table ?

Ça peut paraître idiot, mais on ne sait jamais...

par cmoi » 10 janv. 2007, 21:06

 $sql = "SELECT * FROM " . $table." ORDER BY REF limit 0,5"; 
ce code m'affiche les 4 (pourquoi 4 ??) premiers résultats. J'ai fait varier (0,1, 0,2...) pour vérifier.
0,5, 0,6... affichent toujours 4 résultats.

Comment faire pour avoir les 5 derniers ?