Nombre de requêtes par page mal calculées
Résolu/Fermé
Balafatch
-
20 févr. 2009 à 14:35
kibel Messages postés 24 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 21 février 2009 - 21 févr. 2009 à 10:05
kibel Messages postés 24 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 21 février 2009 - 21 févr. 2009 à 10:05
A voir également:
- Nombre de requêtes par page mal calculées
- Supprimer une page word - Guide
- Word numéro de page 1/2 - Guide
- Traduire une page - Guide
- Nombre facile - Télécharger - Outils professionnels
- Créer une page facebook - Guide
7 réponses
kibel
Messages postés
24
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
21 février 2009
1
20 févr. 2009 à 14:56
20 févr. 2009 à 14:56
Pourrais tu encadrer la zone qui pose problème car sans indetation dur dur à lire.
Sinon, il s'agit trés probablement d'une erreur d'algorithme.
Sinon, une solution si tu veux avoir seulement 10 questions, tu peux le demander dans ta requete avec le LIMITED vu que tu connais le début et la fin.
Sinon, il s'agit trés probablement d'une erreur d'algorithme.
Sinon, une solution si tu veux avoir seulement 10 questions, tu peux le demander dans ta requete avec le LIMITED vu que tu connais le début et la fin.
balafatch
Messages postés
7
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
11 juillet 2010
4
20 févr. 2009 à 15:16
20 févr. 2009 à 15:16
Merci pour ta réponse.
Il me semble que la zone qui pose problème est celle d'affichage des requêtes et donc de leur nombre par page mais je ne vois rien qui le demande précisément (mais je suis dans la situation de quelqu'un qui arrive à deviner la signification d'une langue étrangère sans savoir la parler !!!) :
<?php
if(!$start)
{$start=0;}
$requete = mysql_query("select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre");
while($ligne = mysql_fetch_array($requete)){
$id_q = $ligne["id"];
$od_cat = $ligne["id_cat"];
$titre = $ligne["titre"];
$titre = utf8_encode($titre);
$message = $ligne["message"];
$message = nl2br($message);
$message = utf8_encode($message);
$date = $ligne["date"];
$date = explode("-",$date);
$annee = $date[0];
$mois = $date[1];
$jour = $date[2];
$date = $jour."/".$mois."/".$annee;
echo("$image_question <a href='$page_afficher_details?id_cat=$id_faq&id=$id_q'><b>$titre</b></a><br><br>");
}
?>
Tu as une idée ?
Il me semble que la zone qui pose problème est celle d'affichage des requêtes et donc de leur nombre par page mais je ne vois rien qui le demande précisément (mais je suis dans la situation de quelqu'un qui arrive à deviner la signification d'une langue étrangère sans savoir la parler !!!) :
<?php
if(!$start)
{$start=0;}
$requete = mysql_query("select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre");
while($ligne = mysql_fetch_array($requete)){
$id_q = $ligne["id"];
$od_cat = $ligne["id_cat"];
$titre = $ligne["titre"];
$titre = utf8_encode($titre);
$message = $ligne["message"];
$message = nl2br($message);
$message = utf8_encode($message);
$date = $ligne["date"];
$date = explode("-",$date);
$annee = $date[0];
$mois = $date[1];
$jour = $date[2];
$date = $jour."/".$mois."/".$annee;
echo("$image_question <a href='$page_afficher_details?id_cat=$id_faq&id=$id_q'><b>$titre</b></a><br><br>");
}
?>
Tu as une idée ?
kibel
Messages postés
24
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
21 février 2009
1
20 févr. 2009 à 15:46
20 févr. 2009 à 15:46
Oui même je pense que celà est du que en faîte tu sélectionnes dans ta requête toutes les données se trouvant dans faq correspondant de la catégorie et à l'état 1. Puis après tu les affiches toutes. Donc que tu en es 5, 10, 15 en résultat, il se moque totalement du 10 car tu ne fais jamais de vérification.
while($ligne = mysql_fetch_array($requete)){
Tu extrait une données, et tu l'affiches.
En faîte, il faudrait soit modfier la requête avec un LIMIT en nombre de réponse.
Voicile format:
SELECT * FROM `your_table` LIMIT X, Y
LIMIT X, Y veut dire que tu choisis les resultats a partir de la ligne X+1 et que tu affiches Y resultats
Sinon refaire l'algo d'affichage.
while($ligne = mysql_fetch_array($requete)){
Tu extrait une données, et tu l'affiches.
En faîte, il faudrait soit modfier la requête avec un LIMIT en nombre de réponse.
Voicile format:
SELECT * FROM `your_table` LIMIT X, Y
LIMIT X, Y veut dire que tu choisis les resultats a partir de la ligne X+1 et que tu affiches Y resultats
Sinon refaire l'algo d'affichage.
kibel
Messages postés
24
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
21 février 2009
1
20 févr. 2009 à 15:54
20 févr. 2009 à 15:54
$requete_sql ="select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre ";
$requete_sql.=" LIMIT ".$start.",".$nombre_message_page ." ";
$requete = mysql_query($requete_sql);
Si j'ai compris ton code ça doit être ça. Il y aura peut être une erreur dans le formatage de $requete_sql, mais j'ai pas de logiciel me permettant de tester.
$requete_sql.=" LIMIT ".$start.",".$nombre_message_page ." ";
$requete = mysql_query($requete_sql);
Si j'ai compris ton code ça doit être ça. Il y aura peut être une erreur dans le formatage de $requete_sql, mais j'ai pas de logiciel me permettant de tester.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
balafatch
Messages postés
7
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
11 juillet 2010
4
20 févr. 2009 à 16:22
20 févr. 2009 à 16:22
J'ai donc corrigé de la façon suivante... mais je n'ai plus de résultats sur aucune des deux pages... je n'ai que l'affichage de la catégorie
Tu lis bien, la table est bien faq (faq_categories est la table des catégories).
$nombre_message_page est sur la page conf.php en include au début de cette page
Par contre j'observe que l'adresse de la premiére page est bien :
http://www.10moi.fr/FAQ/afficher.php?id_faq=11&start=0
et de la seconde :
http://www.10moi.fr/FAQ/afficher.php?id_faq=11&start=10
<?php
if(!$start)
{$start=0;}
$requete = mysql_query("select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre");
$requete_sql ="select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre ";
$requete_sql.=" LIMIT ".$start.",".$nombre_message_page ." ";
$requete = mysql_query($requete_sql);
{
$id_q = $ligne["id"];
$od_cat = $ligne["id_cat"];
$titre = $ligne["titre"];
$titre = utf8_encode($titre);
$message = $ligne["message"];
$message = nl2br($message);
$message = utf8_encode($message);
$date = $ligne["date"];
$date = explode("-",$date);
$annee = $date[0];
$mois = $date[1];
$jour = $date[2];
$date = $jour."/".$mois."/".$annee;
echo("$image_question <a href='$page_afficher_details?id_cat=$id_faq&id=$id_q' target='_top'><b>$titre</b></a><br><br>");
}
?>
Tu lis bien, la table est bien faq (faq_categories est la table des catégories).
$nombre_message_page est sur la page conf.php en include au début de cette page
Par contre j'observe que l'adresse de la premiére page est bien :
http://www.10moi.fr/FAQ/afficher.php?id_faq=11&start=0
et de la seconde :
http://www.10moi.fr/FAQ/afficher.php?id_faq=11&start=10
<?php
if(!$start)
{$start=0;}
$requete = mysql_query("select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre");
$requete_sql ="select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre ";
$requete_sql.=" LIMIT ".$start.",".$nombre_message_page ." ";
$requete = mysql_query($requete_sql);
{
$id_q = $ligne["id"];
$od_cat = $ligne["id_cat"];
$titre = $ligne["titre"];
$titre = utf8_encode($titre);
$message = $ligne["message"];
$message = nl2br($message);
$message = utf8_encode($message);
$date = $ligne["date"];
$date = explode("-",$date);
$annee = $date[0];
$mois = $date[1];
$jour = $date[2];
$date = $jour."/".$mois."/".$annee;
echo("$image_question <a href='$page_afficher_details?id_cat=$id_faq&id=$id_q' target='_top'><b>$titre</b></a><br><br>");
}
?>
kibel
Messages postés
24
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
21 février 2009
1
20 févr. 2009 à 16:28
20 févr. 2009 à 16:28
Tu n'as pas remis le while
while($ligne = mysql_fetch_array($requete)){
c'est lui qui permet de lire les résultats.
Pour information:
mysql_query -> Execution de la requete sql
mysql_fetch_array -> recuperation ligne par ligne du resultat donnée par mysql_query
ça donne donc
<?php
if(!$start)
{$start=0;}
$requete_sql ="select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre ";
$requete_sql.=" LIMIT ".$start.",".$nombre_message_page ." ";
$requete = mysql_query($requete_sql);
while($ligne = mysql_fetch_array($requete)){
$id_q = $ligne["id"];
$od_cat = $ligne["id_cat"];
$titre = $ligne["titre"];
$titre = utf8_encode($titre);
$message = $ligne["message"];
$message = nl2br($message);
$message = utf8_encode($message);
$date = $ligne["date"];
$date = explode("-",$date);
$annee = $date[0];
$mois = $date[1];
$jour = $date[2];
$date = $jour."/".$mois."/".$annee;
echo("$image_question <a href='$page_afficher_details?id_cat=$id_faq&id=$id_q' target='_top'><b>$titre</b></a><br><br>");
}
?>
while($ligne = mysql_fetch_array($requete)){
c'est lui qui permet de lire les résultats.
Pour information:
mysql_query -> Execution de la requete sql
mysql_fetch_array -> recuperation ligne par ligne du resultat donnée par mysql_query
ça donne donc
<?php
if(!$start)
{$start=0;}
$requete_sql ="select * from faq where id_cat=\"$id_faq\" and etat=\"1\" order by titre ";
$requete_sql.=" LIMIT ".$start.",".$nombre_message_page ." ";
$requete = mysql_query($requete_sql);
while($ligne = mysql_fetch_array($requete)){
$id_q = $ligne["id"];
$od_cat = $ligne["id_cat"];
$titre = $ligne["titre"];
$titre = utf8_encode($titre);
$message = $ligne["message"];
$message = nl2br($message);
$message = utf8_encode($message);
$date = $ligne["date"];
$date = explode("-",$date);
$annee = $date[0];
$mois = $date[1];
$jour = $date[2];
$date = $jour."/".$mois."/".$annee;
echo("$image_question <a href='$page_afficher_details?id_cat=$id_faq&id=$id_q' target='_top'><b>$titre</b></a><br><br>");
}
?>
balafatch
Messages postés
7
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
11 juillet 2010
4
20 févr. 2009 à 16:40
20 févr. 2009 à 16:40
je m'étais rendu compte lorsque tu m'as répondu...
Avec tous mes remerciements, cela fonctionne. Tu m'as appris quelque chose.
Au delà du service que tu viens de me rendre cela fait plaisir de rencontrer grâce au web une entraide comme cela !
Merci.
Avec tous mes remerciements, cela fonctionne. Tu m'as appris quelque chose.
Au delà du service que tu viens de me rendre cela fait plaisir de rencontrer grâce au web une entraide comme cela !
Merci.
kibel
Messages postés
24
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
21 février 2009
1
21 févr. 2009 à 10:05
21 févr. 2009 à 10:05
De rien.