Posez votre question Signaler

PHP [COUNT] [Résolu]

Terraforgeur 52Messages postés 25 mars 2007Date d'inscription - Dernière réponse le 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
Lire la suite 

PHP [COUNT] »

10 réponses
Réponse
+5
moins plus
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() ;

?>
Terraforgeur - 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
Pi_Xi - 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: http://www.siteduzero.com/
Ajouter un commentaire
Réponse
+2
moins plus
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);
Ajouter un commentaire
Réponse
+2
moins plus
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() ;

?>
Ajouter un commentaire
Réponse
+0
moins plus
<?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 :/
Pi_Xi - 29 déc. 2007 à 15:49
Clair, mais on passe tous par là ...
Ozimandias - 29 juil. 2009 à 12:07
Ça c'est super constructif comme remarque...
MOLL - 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
Ajouter un commentaire
Réponse
+0
moins plus
kikoolol
Ajouter un commentaire
Ce document intitulé « PHP [COUNT] » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook