Bonjour à tous,
Je souhaiterai avoir quelques explications...
Imaginons, je fais passer en $_GET un nombre...
je veux que ce nombre soit compris entre 1 et X.
X : c'est le nombre d'entrées dans une de mes tables...comment m'y prendre.
Vous pourriez me montrer, par exemple on a $id en GET, et on veut affichier 'page n° $id / $nb_pages' avec $nb_pages représentant alors le nombre de pages en bdd.
Merci de votre attention
Alp
__________________________
Be C++ Mon Blog (C++, Intelligence Artificielle, Prolog)
lol ... on dirai de la gestion de multipage lol !!! j'ai fait une classe pour ça si t'interesse, je crois qu'elle est dispo sur la version téléchargeable de MP4.
Sinon globalement le principe est simple :
Le truc c'est qu'il faut a chaque fois que tu recompte le nb total de resultat et qu'ensuite une autre requete selectionne tes élements en gros
$nb_page = SELECT COUNT(*) FROM ma_table
$Element = SELECT * FROM ma_table limit page, $page + 1
"page $page / $nb_page";
VOila En très gros comment ça fonctionne.
Le problème chiant a gerer ici c'est qu'en fait le nb de page n'est pas forcement lié aux ID des tes enregistrements.
Dans tous les cas tu est obliger de passé 2 requete à chaque fois. Google pour évité ça, donne une approximation du nombre de page ...
__________________________
Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com
Non c'est pas de la gestion de multipage, c'était juste un exemple... C'est plutot pour vérifier l'existence d'un id en Base de donnée...il doit être compris entre 1 et le nb d'id total. Capiche? ;)
et mysql_num_rows sert à quoi? il est beaucoup utilisé pourtant! Il ne fait pas ce qui'il faut? C'est bien pour avoir le nombre d'entrées récupérées avec un select non? mais il faut lui passer quelle variable en argument?
Merci bcp de ton aide Dju
Alp
__________________________
Be C++ Mon Blog (C++, Intelligence Artificielle, Prolog)
oui mysql_num_rows est super simple, elle te retourne le nombre de ligne trouvé dans la requete comme ça :
$requete = mysql_db_query($sql_bdd,"SELECT * FROM c_cat order",$db_link);
$num = mysql_num_rows($requete);
Attention un COUNT(*) ne renvoie qu'une seul ligne
__________________________
Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com
y'a pas de pb ... par contre jsuis pas certain d'avoir bien répondu à ta question !! n'hesite pas à appronfondir lol
__________________________
Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com
Nan mais tu as bien répondu c'est bon merci ...
Par contre, pb d'allongement ==> nouveau topic, qu'on pourra mettre à la FAQ php une fois résolu...
A tte :)
__________________________
Be C++ Mon Blog (C++, Intelligence Artificielle, Prolog)
J'viens juste mettre un peu mon grain de sel a la sauce :
mysql_num_rows est une fonction php qui compte le nombre de resultat retourné par la base de données.
Count et une fonctio SQL qui permet de recuperer le nombre de ligne correspondant a une recherche.
Ce n'est pas du tout la meme chose !!!
Si tu utilise mysql_num_rows, ca veux dire que tu as eu un resultat de requete contenant plusieurs lignes, alors que count ne retourne qu'une ligne.
Donc par exemple sur une table de 100000 entrées, si tu utilise mysql_num_rows, il aura d'abord du transmettre tout les resultat entre php et la base de données !!
alors qu'avec count, il n'y a qu'une valeur a transferer.
Donc il faut vraiment faire attention aux methode que tu utilise, et pas le faire au hazar.
Bye.
__________________________
Il vaut mieux mobiliser son intelligence sur des conneries que
mobiliser sa connerie sur des choses intelligentes. [SHADOKS]
bon je fais un moteur de recherche ...
voici un bout de code :
[code]
$in_graph = "SELECT * FROM graph_info WHERE description LIKE '$search' OR nom LIKE '$search'";
$res_graph = mysql_query($in_graph);
$nb = mysql_num_rows($res_graph);
if($nb==0) {
echo 'Aucun résultat pour la recherche dans le graphisme';
}
else {
while($data = mysql_fetch_array($res_graph))
{
echo '<a href="?page=3&id=' . $data['id'] . '">' . $data['nom'] . '</a><br>';
}
[/code]
et voici l'erreur obtenue :
[quote]
Aucun résultat pour la recherche dans le graphisme
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/fusion/domains/fusion.heb4you.com/public_html/pages/search.php on line 21
[/quote]
Pourriez-vous m'aider :?: :roll: :oops:
__________________________
Be C++
[url=http://blog.mestan.fr/]Mon Blog (C++, Intelligence Artificielle, Prolog)[/url]
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !