Un else qui en renvoit pas ce que je veux [Résolu]

Signaler
Messages postés
151
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2012
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
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

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

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
-----------------
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
151
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2012

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..
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
$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>
Messages postés
151
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2012

> 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';
}
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
151
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2012

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?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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>
Messages postés
151
Date d'inscription
jeudi 23 décembre 2004
Statut
Membre
Dernière intervention
20 décembre 2012

oki merci pour ces precisions!