PHP [COUNT]

Résolu/Fermé
Terraforgeur Messages postés 51 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 21 juillet 2009 - 21 août 2007 à 16:16
 oopij - 5 nov. 2010 à 10:05
Bonjour à tous,

Je suis actuellement en train de créer un site pour des collectionneurs. Malheureusement je débute en PHP et je galère un peu -_-.
Je vous expose donc mon problème. J'aimerai créer une page ou le nombre d'enrgistrements de ma table (ici la table "task") soient comptés. J'ai déja commencé à mettre mon petit bout de code mais ca ne fonctionne pas :

<?php 
$pseudo = $_SESSION[pseudo] ;

mysql_connect("localhost", "*****", "***")or die(mysql_error()) ;
mysql_select_db("terra")or die(mysql_error()) ;
echo mysql_query("SELECT count(id) FROM task WHERE pseudo ='$pseudo'")or die(mysql_error()) ;
mysql_close() ;

?>

Ce bout de code fonctionne mais il affiche systématiquement la valeur 1, quel que soit le nombre d'enrgistrements...
Auriez vous une solution ?

Merci d'avance,

Terra
A voir également:

5 réponses

C'est normal, il te manque qq trucs et mysql_query ne sort pas les enregistrements il faut faire un mysql_fetch........ ensuite

<?php 
$pseudo = $_SESSION[pseudo] ;
$cnx=mysql_connect("localhost", "*****", "***")or die(mysql_error()) ;
mysql_select_db("terra",$cnx)or die(mysql_error()) ;
 $reponse=mysql_query("SELECT count(id) FROM task WHERE pseudo ='$pseudo'")or die(mysql_error()) ;
while($row=mysql_fetch_array($reponse)){
	echo $row[0];
}
 
 mysql_close() ;

?>


ou comme tu n'auras qu'une seule ligne de réponse tu peux aussi faire: (sans le count(id))

<?php 
$pseudo = $_SESSION[pseudo] ;

$cnx=mysql_connect("localhost", "*****", "***")or die(mysql_error()) ;
mysql_select_db("terra",$cnx)or die(mysql_error()) ;
 $reponse=mysql_query("SELECT id FROM task WHERE pseudo ='$pseudo'")or die(mysql_error()) ;

	echo "nombre d'id trouves: ".mysql_num_row($reponse);

 mysql_close() ;

?>
6
Terraforgeur Messages postés 51 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 21 juillet 2009 10
21 août 2007 à 16:42
Merci beaucoup !!!

Etant novice avec php je vais m'enrgistrer ton code sur mon pocket pc et je vais le bosser toute la nuit lol !

Juste une dernière question comment avez vous a programmer le php avec autant de facilité ?

Merci beaucoup de votre aide maintenant ca marche nikel

Cordialement,

Terra
0
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
21 août 2007 à 16:48
Rq: le count() est plus rapide à l'éxecution que le mysql_num_row()

J'ajouterais plutôt:
$resultat=mysql_fetch_row($result);
echo $resultat[0];

Pour s'initier au php, je te conseille le site du Zero: https://openclassrooms.com/fr/
0
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
21 août 2007 à 16:23
Bonjour,

tout d'abord, écris:
$pseudo = $_SESSION['pseudo'] ;
avec des côtes :)

Puis
$result = mysql_query("SELECT count(id) FROM task WHERE pseudo ='$pseudo'")or die(mysql_error()) ;
echo "Result = ".$result;

Ta syntaxe fonctionne peut-être, mais g toujours utilisé:
$connect = mysql_connect("localhost", "*****", "***"); 
mysql_select_db("terra", $connect);
2
Terraforgeur Messages postés 51 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 21 juillet 2009 10
29 déc. 2007 à 15:40
C'est normal, il te manque qq trucs et mysql_query ne sort pas les enregistrements il faut faire un mysql_fetch........ ensuite

<?php
$pseudo = $_SESSION[pseudo] ;
$cnx=mysql_connect("localhost", "*****", "***")or die(mysql_error()) ;
mysql_select_db("terra",$cnx)or die(mysql_error()) ;
$reponse=mysql_query("SELECT count(id) FROM task WHERE pseudo ='$pseudo'")or die(mysql_error()) ;
while($row=mysql_fetch_array($reponse)){
echo $row[0];
}

mysql_close() ;

?>


ou comme tu n'auras qu'une seule ligne de réponse tu peux aussi faire: (sans le count(id))

<?php
$pseudo = $_SESSION[pseudo] ;

$cnx=mysql_connect("localhost", "*****", "***")or die(mysql_error()) ;
mysql_select_db("terra",$cnx)or die(mysql_error()) ;
$reponse=mysql_query("SELECT id FROM task WHERE pseudo ='$pseudo'")or die(mysql_error()) ;

echo "nombre d'id trouves: ".mysql_num_row($reponse);

mysql_close() ;

?>
2
Tiller Messages postés 781 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 14 septembre 2008 211
29 déc. 2007 à 15:46
<?php
session_start();

$pseudo = $_SESSION['pseudo'] ;

$cnx = mysql_connect('*', '*', '*') or die(mysql_error());
mysql_select_db('terra', $cnx) or die(mysql_error());

$sql = 'SELECT `id` FROM `task` WHERE `pseudo` = "'.$pseudo.'"';
$reponse = mysql_query($sql) or die(mysql_error());

echo 'Nombre d\'id trouves: '.mysql_num_row($reponse);

mysql_close();

?>


C'est moche la façon dont vous codez les mecs :/
0
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 149
29 déc. 2007 à 15:49
Clair, mais on passe tous par là ...
0
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
29 juil. 2009 à 12:07
Ça c'est super constructif comme remarque...
0
MOLL > Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010
6 nov. 2009 à 02:27
Merci la grosse faute surtout pour les débutants !
Je rappel que mysql_num_row prend un S à la fin => mysql_num_rows
Tchousss Merci les forums
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kikoolol
0