Un else qui en renvoit pas ce que je veux

Résolu
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012 - 16 avril 2006 à 20:46
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 17 avril 2006 à 09:32
bonjour à tous! et joyeuses paques!

voilà mon soucis
si un numéro de client n'existe pas, un message informe la personne qui utiilise l'appli, sur le fait qu'il n'est pas présent dans la BDD

mais il me renvoit tout le temps le mem message " ce client n'existe pas" mme si le numero de client est bien dans la bdd

voici le code :
$result mysql_query ("SELECT num_cli, nom_cli, adr_cli, cp, ville, tel from client where num_cli ".$_POST['chercherclient']." ",$base);



while( $row = mysql_fetch_array($result))
{
$numcli = $row['num_cli'];
if ($_POST['chercherclient'] == $numcli)
{





echo "Coordonnées du client N° ".$_POST['chercherclient']."";
echo "";
echo "nom, ".$row[1].",
----

";
echo "adresse, ".$row[2].",
----

";
echo "code postal, ".$row[3].",
----

";
echo "ville, ".$row[4].",
----

";
echo "téléphone, ".$row[5].",
\";
echo "
";
}
else
{
echo "erreur : ".mysql_error();
}
}
$numcli = $row[0];
if ($_POST['chercherclient'] != $numcli)
{
echo "ce client n'existe pas";
}

merci pour vos lumières...

10 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
17 avril 2006 à 09:32
Peux-tu cliquer sur "réponse acceptée" stp ?

merci

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
3
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
16 avril 2006 à 21:01
Tu devrai déja commencer par mettre un echo $row['num_cli'] après ton while histoire de voir si le num est le bon...


----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 avril 2006 à 21:38
Salut,

utilise plutôt
if(mysql_num_rows($result)===0)
{
echo 'Ce client n\'existe pas';
}

à la place de la condition après le fetch_array()

tu peux également supprimer le deuxième paramètre dans mysql_query, et mettre un mysql_close() après le mysql_query.

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
16 avril 2006 à 21:45
merci pour ta réponse

alors j'ai mis un echo $row['num_cli'] et il m'indique bien le numéro du client, s'il est dans la BDD
sinon, il m'indique rien.

je ne comprends toujours pas pourquoi le message "ce client n'existe pas" est toujours là, que le client existe ou pas...

mais ça n'empeche pas mon code de fonctionner correctement..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 avril 2006 à 21:48
$result = mysql_query ("SELECT num_cli, nom_cli, adr_cli, cp, ville,
tel FROM client WHERE num_cli = '.$_POST['chercherclient']);
mysql_close();
if(mysql_num_rows($result)===0)
{

echo 'client inexistant';

}

while( $row = mysql_fetch_array($result))
{
$numcli = $row['num_cli'];
if ($_POST['chercherclient'] == $numcli)
{



echo "Coordonnées du client N° ".$_POST['chercherclient']."";
echo "";
echo "nom, <center> ".$row[1].",
----

";
echo "adresse, <center> ".$row[2].",
----

";
echo "code postal, <center> ".$row[3].",
----

";
echo "ville, <center> ".$row[4].",
----

";
echo "téléphone, <center> ".$row[5].",
\";
echo "
";
}
else
{
echo "erreur : ".mysql_error();
}
}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
16 avril 2006 à 21:49
> Anthomicro

ba merciiii
parce que ça marche!! ;)
$result mysql_query ("SELECT num_cli, nom_cli, adr_cli, cp, ville, tel from client where num_cli ".$_POST['chercherclient']." ",$base);



while( $row = mysql_fetch_array($result))
{
echo $row[0];
echo "

"; $numcli $row['num_cli']; // $row['num_cli'] $row[0]
if ($_POST['chercherclient'] == $numcli) {





echo "Coordonnées du client N° ".$_POST['chercherclient']."";
echo "";
echo "nom, ".$row[1].",
----

";
echo "adresse, ".$row[2].",
----

";
echo "code postal, ".$row[3].",
----

";
echo "ville, ".$row[4].",
----

";
echo "téléphone, ".$row[5].",
\";
echo "
";
}


else
{
echo "erreur : ".mysql_error();
}
}
$numcli = $row[0];

if(mysql_num_rows($result)===0)
{
echo 'Ce client n\'existe pas';
}
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 avril 2006 à 21:56
remplaces ça :

$result = mysql_query ("SELECT num_cli, nom_cli, adr_cli, cp, ville,
tel from client where num_cli = ".$_POST['chercherclient']." ",$base);

par ça :

$result = mysql_query ('SELECT num_cli, nom_cli, adr_cli, cp, ville,
tel from client where num_cli = '.$_POST['chercherclient']);

et mets un mysql_close(); ensuite
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
16 avril 2006 à 23:41
si je change par ça : $result mysql_query ('SELECT num_cli, nom_cli, adr_cli, cp, ville, tel from client where num_cli '.$_POST['chercherclient']);

ça va changer koa exactement?
bon le $base ne sert à rien mais pour le reste?
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
17 avril 2006 à 00:08
les simples quotes ' sont plus rapides à traiter que les doubles "

Ensuite le mysql_close() après la requête permet d'éviter au maximum les erreurs de max_user_connections

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_oceane751 Messages postés 150 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 20 décembre 2012
17 avril 2006 à 06:57
oki merci pour ces precisions!
0
Rejoignez-nous