RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 mysql_num_rows, COUNT() ... ?

Forum : PHP - BDD
Sous Catégorie : BDD
Type du sujet : Sujet Normale
FAQ : FAQ PHP - BDD

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM PHP - BDD

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#51697
Posté le 11/02/05 à 15:51
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)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Kernings
Co-Administrateur
Chef de projet(s) :
- MoteurProg Work.

Avatar de Kernings
Inscrit : 30/12/2003
Messages : 2594
Message
#51699
Posté le 11/02/05 à 16:05
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

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#51701
Posté le 11/02/05 à 16:09
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 Smiley
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Kernings
Co-Administrateur
Chef de projet(s) :
- MoteurProg Work.

Avatar de Kernings
Inscrit : 30/12/2003
Messages : 2594
Message
#51702
Posté le 11/02/05 à 16:13
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

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#51703
Posté le 11/02/05 à 16:16
Ok , merci beaucou Dju
Désolé du dérangement.
Alp
__________________________
Be C++
Mon Blog (C++, Intelligence Artificielle, Prolog)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Kernings
Co-Administrateur
Chef de projet(s) :
- MoteurProg Work.

Avatar de Kernings
Inscrit : 30/12/2003
Messages : 2594
Message
#51704
Posté le 11/02/05 à 16:19
y'a pas de pb Smiley ... 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

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#51705
Posté le 11/02/05 à 16:22
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)

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

MisterV
Membre du club
Avatar de MisterV
Inscrit : 21/05/2004
Messages : 1603
Message
#51711
Posté le 11/02/05 à 16:59
Salut,

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.

++
__________________________
GGrrrrrrrrr.............

Comment poser une question ?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Hephaistos007
Membre du club
Avatar de Hephaistos007
Inscrit : 30/09/2004
Messages : 314
Message
#51747
Posté le 11/02/05 à 19:04
Exact, c'et un conseil que je donne souvent. Donner au SGBD un max de travail pour décharger le moteur PHP, évidemment beaucoup moins efficace.

C'est même un conseil que je donne sur mon site

Bye.
__________________________
Il vaut mieux mobiliser son intelligence sur des conneries que
mobiliser sa connerie sur des choses intelligentes. [SHADOKS]

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Alp
Superviseur :
- Système d'ex.
- Méthodologie.
- C & C++
Modérateur :
- Bavardages
Chef de projet(s) :
- My SDL Lib

Avatar de Alp
Inscrit : 24/06/2004
Messages : 2571
Message
#51748
Posté le 11/02/05 à 19:09
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 !

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM PHP - BDD



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.