Vérifier si un champ est déja dans une table

flo -  
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,

J'ai un formulaire où on rentre le nom d'une ville et si la ville est déja dans la table ville alors ça affiche une erreur et quand elle est absente de la table ville, cela crée la table avec le nom saisi dans le formulaire.
voici mon code:

$ville=strtolower($_POST['ville']);

$rq="SELECT COUNT(*) AS nb$ville FROM ville WHERE ville = '$ville' ";
$row= mysql_query ($rq) or die ("Select count impossible" );
   
while($data = mysql_fetch_array($row))
{
$total = $data["nb$ville"];
}

if ($total == 1)
{echo 'ERREUR!! Cette ville est déja dans la base de données!';}
else
{
echo 'La ville a été ajoutée';
$sql="CREATE TABLE $ville (
'id' int(3) NOT NULL auto_increment,
'alveole' varchar NOT NULL,
'nom_liaison' varchar NOT NULL,
'num_liaison' varchar NOT NULL,
KEY 'id' ('id')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";
mysql_query($sql);
}


Sauf que j'ai toujours 'ERREUR!! Cette ville est déja dans la base de données!'.
Le problème vient de ma condition dans le if.

quelqu'un aurait il une idée? svp

cordialement,

flo
A voir également:

3 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

À première vue, je ne vois pas d'où ça peut venir.
Je te suggère de placer des "echo" à différents endroit pour voir exactement ce qu'il se passe.
Par exemple, juste derrière $rq="SELECT...";, tu peux mettre :
echo "rq = $rq<br />";

Pour voir exactement à quoi ressemble ta requête...

Xavier
0
flo
 
merci de ta reponse xavier!

si je rentre agen, ça m'affiche:

rq = SELECT COUNT(*) AS nbagen FROM ville WHERE ville = 'agen'

donc ma requete est bonne. sauf que quand je rentre par exemple cancon qui n'est pas dans la bdd, j'ai mon erreur la ville est dans la bdd!
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
Et
echo $total;
ça donne quoi ?
0