page par page

Répondre
Meeper
Meeper
Déconnecté
---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
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
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
Meeper
Déconnecté
---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 ?
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Quelle est ta requete SQL ?
Meeper
Meeper
Déconnecté
---Meeper---
ben il y en a plusieurs vus que l'affichage des resultats se fais en fonction de 3 menus deroulants
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ok mais tu ne devrais avoir qu'une seule requete qui compte le nombre de resultats, non ?
Meeper
Meeper
Déconnecté
---Meeper---
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Houlala, c'est caca ce que tu nous as fait là :)
Meeper
Meeper
Déconnecté
---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
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
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';
}
Meeper
Meeper
Déconnecté
---Meeper---
oui ca y est excuse moi du temps de réponse mais la j'etais vraiment perdu je vais reesayer mais il me semble avoir deja fais ca et ca ne fonctionne pas car si tu regarde dans mon code achaque condition le where est different
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben oui smiley

C'est justement là d'où vient le probleme : il devrait etre identique.

En clair, il faudrait repenser ta page afin qu'elle s'adapte au systeme de navigation page par page...
Meeper
Meeper
Déconnecté
---Meeper---
Mouiasssss encore des heures a se creuser la tête tous ca smiley
mais je dois t'avouer je vais surment avoir plus simple a repenser ma page sans systeme page par page smiley
car dans l'etat actuel de mes connaissances en php je me vois mal y arriver surtout que moi j'ai l'impression que je saurai pas me passer de ses where differents vu que c'est grace a eux que les resultas recherches s'afficheent.
Mais encore une fois merci de ta patience smiley
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique