4 ENREGISTREMENT PAR PAGE ET AUTANT DE PAGE QUE NÉCESSAIRE
cs_koko
Messages postés654Date d'inscriptionlundi 14 janvier 2002StatutMembreDernière intervention20 février 2005
-
13 mai 2004 à 07:16
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 mars 2012
-
12 sept. 2006 à 21:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Je ne sais pas si tu as déjà trouvé, j'éspère pour toi que oui ! :)
Onkgusd
Messages postés27Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention10 avril 2006 31 août 2004 à 12:05
Salut,
y a effectivement moyen en t'inspirant de cette source;
l'algo est le même mais, comme tu le sais surement, php (dans ces versions 4 et <) a des fonctions pour chaque SGBD donc il faut que change les fonctions mysql par leurs équivalents pour SQL Server...
@ +
cubator
Messages postés5Date d'inscriptiondimanche 23 mai 2004StatutMembreDernière intervention30 août 2004 30 août 2004 à 14:48
slt
je veut faire la meme chose mais avec une base de donné sql server, alors je me suis bloqué à ce niveau
y'a il pas un moyen pour le faire
Onkgusd
Messages postés27Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention10 avril 2006 16 mai 2004 à 16:51
ok je te remercie pour ces explications !
je vais apprendre à me servir de mysql_result alors ! ;-)
cs_koko
Messages postés654Date d'inscriptionlundi 14 janvier 2002StatutMembreDernière intervention20 février 2005 15 mai 2004 à 12:41
car quand tu fais un SELECT *, tu prends tout dans la table alors que tu ne veux que compter le nombre de message qu'il y a dans ta table.
Si tu fais un COUNT(*), c'est mysql qui compte le nombre d'enregistrement directement et c'est tres rapide !
de plus, si tu ne mets pas de WHERE, mysql va chercher dans les propriétés de la table un nombre qui est statique et qui est le nombre total d'enregistrement de la table ce qui est encore plus rapide !
Onkgusd
Messages postés27Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention10 avril 2006 15 mai 2004 à 11:57
ouais...
mais bon, sans vouloir être relou, j'ai pas fait de mysql_fetch_array, enfin si mais j'étais obligé... le truc que j'ai pas compris c'est pourquoi c'est mieux que un mysql_num_rows ???
au fait "tu sors le livre DONT tu as besoin", mais c'est pas important...
si tu peux me dire pourquoi le bout de code :
$req="SELECT * FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_num_rows($res);
est mon bien que ça :
$req="SELECT COUNT(*) as nbmsg FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_result($res,0,'nbmsg');
je serais content...
@ +
cs_koko
Messages postés654Date d'inscriptionlundi 14 janvier 2002StatutMembreDernière intervention20 février 2005 14 mai 2004 à 16:36
bah petit exemple :
tu as des livres dans une bibliotheque.
Tu prends 5 livres que tu mets dans un sac.
mysql_fetch_array : tu sors chaque livre et tu notes sur un papier son titre, le nombre de page,...
et apres tu vas chercher le livre que tu as besoin en regardant dans les papiers
mysql_result : tu sors le livre que tu as besoin
mon exemple est bon ?
Onkgusd
Messages postés27Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention10 avril 2006 14 mai 2004 à 12:33
j'avoue.... c'est pas forcement clair mais je suis sur que celui qui cherche (comme moi j'ai cherché pendant un moment alors que c'est tout con) sera content de trouver cette source.
dis-moi en quoi ça optimise le code sinon le mysql_result ?
cs_koko
Messages postés654Date d'inscriptionlundi 14 janvier 2002StatutMembreDernière intervention20 février 2005 13 mai 2004 à 16:45
tu aurais du plus expliqué alors ;)
et mieux introduire le sujet aussi !
Onkgusd
Messages postés27Date d'inscriptionmardi 29 juillet 2003StatutMembreDernière intervention10 avril 2006 13 mai 2004 à 09:55
salut,
je capte pas pourquoi mon code serait optimisé avec ce que tu propose (c'est plus facile de faire les fonctions que tu indiques pour le serveur ????)
franchement c'était pour le num_rows que j'ai mis cette source mais plus pour l'algo général du programme et l'utilisation de la clause LIMIT en sql....
cs_koko
Messages postés654Date d'inscriptionlundi 14 janvier 2002StatutMembreDernière intervention20 février 2005 13 mai 2004 à 07:16
ton code demanderait un peu d'optimisation !
ca c'est lourd !
$req="SELECT * FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_num_rows($res);
ca c'est mieux ;)
$req="SELECT COUNT(*) as nbmsg FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_result($res,0,'nbmsg');
12 sept. 2006 à 21:34
SVP.
Merci.
17 févr. 2005 à 19:41
voila pour CUBATOR, un petit lien pour requete sur SQL Server !
http://www.devparadise.com/technoweb/code/sql/a436.php
Je ne sais pas si tu as déjà trouvé, j'éspère pour toi que oui ! :)
31 août 2004 à 12:05
y a effectivement moyen en t'inspirant de cette source;
l'algo est le même mais, comme tu le sais surement, php (dans ces versions 4 et <) a des fonctions pour chaque SGBD donc il faut que change les fonctions mysql par leurs équivalents pour SQL Server...
@ +
30 août 2004 à 14:48
je veut faire la meme chose mais avec une base de donné sql server, alors je me suis bloqué à ce niveau
y'a il pas un moyen pour le faire
16 mai 2004 à 16:51
je vais apprendre à me servir de mysql_result alors ! ;-)
15 mai 2004 à 12:41
Si tu fais un COUNT(*), c'est mysql qui compte le nombre d'enregistrement directement et c'est tres rapide !
de plus, si tu ne mets pas de WHERE, mysql va chercher dans les propriétés de la table un nombre qui est statique et qui est le nombre total d'enregistrement de la table ce qui est encore plus rapide !
15 mai 2004 à 11:57
mais bon, sans vouloir être relou, j'ai pas fait de mysql_fetch_array, enfin si mais j'étais obligé... le truc que j'ai pas compris c'est pourquoi c'est mieux que un mysql_num_rows ???
au fait "tu sors le livre DONT tu as besoin", mais c'est pas important...
si tu peux me dire pourquoi le bout de code :
$req="SELECT * FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_num_rows($res);
est mon bien que ça :
$req="SELECT COUNT(*) as nbmsg FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_result($res,0,'nbmsg');
je serais content...
@ +
14 mai 2004 à 16:36
tu as des livres dans une bibliotheque.
Tu prends 5 livres que tu mets dans un sac.
mysql_fetch_array : tu sors chaque livre et tu notes sur un papier son titre, le nombre de page,...
et apres tu vas chercher le livre que tu as besoin en regardant dans les papiers
mysql_result : tu sors le livre que tu as besoin
mon exemple est bon ?
14 mai 2004 à 12:33
dis-moi en quoi ça optimise le code sinon le mysql_result ?
13 mai 2004 à 16:45
et mieux introduire le sujet aussi !
13 mai 2004 à 09:55
je capte pas pourquoi mon code serait optimisé avec ce que tu propose (c'est plus facile de faire les fonctions que tu indiques pour le serveur ????)
franchement c'était pour le num_rows que j'ai mis cette source mais plus pour l'algo général du programme et l'utilisation de la clause LIMIT en sql....
13 mai 2004 à 07:16
ca c'est lourd !
$req="SELECT * FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_num_rows($res);
ca c'est mieux ;)
$req="SELECT COUNT(*) as nbmsg FROM MESSAGE";
$res=mysql_query($req);
$nb_message=mysql_result($res,0,'nbmsg');
voila ;)