page par page

Répondre
Meeper
le 26/05/2003 à 19:16
Meeper
Bonsoir ,
j'ai essayé d'adapter le page par page chez moi comme ecris dans la rubrique 'comment faire'
et je me demandais un truc normalement la barre dois afficher les resultats obtenus via les requetes Or chez moi la barre affiche tous les enregistrement de la table et se moque des requetes qui doivent n'afficher que les resultats demandés
je pense que c'est a cause du count(*) qui retourne le nombres d'enregistrement dans ma table mais comment faire pour compter uniquement les resultats qui correspondent à mes requetes ???smiley
LA GLOBULE
le 26/05/2003 à 19:28
LA GLOBULE
Il te suffit de compter QUE les enregistrements qui t'interesses :)

Comme par exemple :
$sql = 'SELECT count(*) FROM ta_table WHERE tes_conditions';

C'est ausssi simple que çà smiley
Meeper
le 26/05/2003 à 20:26
Meeper
ben ca fonctionne pas ca me met ce message

Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause
(j'ai surment essayé de réecrire le sql la smiley)
mais le * sert a tous compter non ?
Meeper
le 26/05/2003 à 20:34
Meeper
ben il y en a plusieurs vus que l'affichage des resultats se fais en fonction de 3 menus deroulants
LA GLOBULE
le 26/05/2003 à 20:38
LA GLOBULE
Ok mais tu ne devrais avoir qu'une seule requete qui compte le nombre de resultats, non ?
Meeper
le 26/05/2003 à 20:46
Meeper
smiley je savais que tu allais m'engeuler smiley
pourtant je peux t'affirmer que sans l'essai page par page le script tourne bien et m'affiche les resultas que j'ai demande via les 3 menu deroulant smiley
LA GLOBULE
le 26/05/2003 à 20:49
LA GLOBULE
En fait, tu as remarque que le truc avait deux requetes sql : $sql1 et $sql2.

Et en pratique, le WHERE de $sql2 doit etre le meme que le WHERE du $sql1 (cd. ci_dessous) pour que cela fonctionne.

Pour résumé :
1) tu calcules le nombre total de truc que tu veux afficher
2) tu ne recuperes que les premiers enregistrements grace au LIMIT (et il faut donc que ton WHERE soit le meme que celui de la premiere requete).

Tu comprends plus au moins le principe ?

---------------------
$sql1 = 'SELECT count(*) FROM etablissements WHERE tes_conditions';
$resultat = mysql_query($sql);
$nb_total = mysql_fetch_array($resultat);
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
if (!isset($debut)) $debut = 0;
$sql2 = '...... WHERE tes_conditions';
}
Répondre
LoadingChargement en cours