Page 1 sur 1

Probleme de COUNT

Posté : 10 mai 2005, 21:39
par jojo
Bonsoir tout le monde (je remercie les perssone qui m'on aider pour l'envoi de fichier par formulaire) le probleme est regler, mais voila un autre script qui ne fonctione pas :shock: je suis modit LOL
Il sagit du script qui verifie si le pseudo entrer existe deja (nous somme dans un formulaire d'inscription)
Ma methode :
Compter les lignes dont le champ a pour valeur $_POST['pseudo']
si il est plus petit que 1 on enregistre sinon on renvoi le formulaire.
Le probleme c'est que $number est null vous comprendrez mieu en regardant se script:
Mysql_connect('***','***');
	Mysql_select_db('aafgtn_db');
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM membre WHERE pseudo = '.$_POST['pseudo']);
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
echo $totalDesMessages.'ici';
Mysql_close();
	if($totalDesMessages < 1)
{...}else{...}
Merci de trouvé l'erreur :)
Amicalemen PitiLOUP68

Posté : 10 mai 2005, 21:55
par Cyrano
Salut jojo,
tu peux simplifier:
<?php
mysql_connect('***','***');
mysql_select_db('aafgtn_db');
$retour = mysql_query("SELECT COUNT(*) AS nb_messages FROM membre WHERE pseudo = '".$_POST['pseudo']."'");
$donnees = mysql_fetch_array($retour);
mysql_close();
if($donnees) // On vérifie que mysql_fetch_arrray n'a pas retourné FALSE (pas de message)
{
    $totalDesMessages = $donnees['nb_messages'];
    echo $totalDesMessages.'ici';
    /*...*/
}
?>
Si le nombre de ligne est inférieur à 1, mysql_fetch_array() va retourner FALSE, dont on teste s'il y a des messages et on exécute les commandes, sinon, on ne fait rien ou alors tu rajoutes un else après et tu affiches un message annonçant par exemple qu'il n'y a pas de messages.

Sinon, l'erreur était dans la concaténation de chaine dans la requête : vérifie toujours bien comment tu concatènes du SQL et du PHP :)