Rechercher : dans
Par :

PHP [COUNT]

Dernière réponse le 6 nov 2009 à 02:27:38 Terraforgeur, le 21 aoû 2007 à 16:16:47 
 Signaler ce message aux modérateurs

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
Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « PHP [COUNT] » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

Pi_Xi, le 21 aoû 2007 à 16:23:44

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);

Répondre à Pi_Xi

2

Alain42, le 21 aoû 2007 à 16:34:58
  • +2

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() ;

?>

Répondre à Alain42

3

Terraforgeur, le 21 aoû 2007 à 16:42:14

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

Répondre à Terraforgeur

4

Pi_Xi, le 21 aoû 2007 à 16:48:04
  • +1

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/

Répondre à Pi_Xi

5

Terraforgeur, le 29 déc 2007 à 15:40:55

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() ;

?>

Répondre à Terraforgeur

6

Tiller, le 29 déc 2007 à 15:46:54

<?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 :/
On dit que les oiseaux sont libres dans le ciel,
Mais la vraie liberté n'est pas celle d'avoir un endroit où se poser ?

Répondre à Tiller

7

Pi_Xi, le 29 déc 2007 à 15:49:11

Clair, mais on passe tous par là ...
GoOgle est ton ami ;o)

Répondre à Pi_Xi

8

Ozimandias, le 29 jui 2009 à 12:07:20

Ça c'est super constructif comme remarque...
Deux intellectuels assis vont moins loin qu'une brute qui ma­rche.
!!! Vous avez obtenu une réponse ... Pensez à marquer vos su­jets comme résolus !!!

Répondre à Ozimandias

9

 MOLL, le 6 nov 2009 à 02:27:38
  • +1

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

Répondre à MOLL