PHP [COUNT]

Résolu
Terraforgeur Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
 oopij -
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

Alain42
 
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   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   149
 
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   Statut Membre Dernière intervention   149
 
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   Statut Membre Dernière intervention   10
 
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   Statut Membre Dernière intervention   211
 
<?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   Statut Membre Dernière intervention   149
 
Clair, mais on passe tous par là ...
0
Ozimandias Messages postés 505 Date d'inscription   Statut Membre Dernière intervention   46
 
Ça c'est super constructif comme remarque...
0
MOLL > Ozimandias Messages postés 505 Date d'inscription   Statut Membre Dernière intervention  
 
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
oopij
 
kikoolol
0