Aide sur if et else dans les requettées sql

Fermé
sarrarsenal - Modifié par sarrarsenal le 19/02/2013 à 10:13
Lyvanir Messages postés 5 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 20 février 2013 - 20 févr. 2013 à 10:38
Bonjour, je voudrais une aide concernant cette requette sql suivant je veux faire des testes sur le la nature d entreprise et la capitale entré par l utilisateur avant d'insérer ces données dans la base de données.mais a chaque fois c'est le else qui s 'execute et je n 'arrive pas à trouver l erreur merci



<?php
extract($_POST);
$capitale=$_POST['capitale'];

$idNaturentreprise=$_POST['idNaturentreprise'];
if($idNaturentreprise=!11){
$type='B';
}
else {
$type='A';
}
$serv="localhost";
$log="root";
$passe="";
$bd="contactplusbis";
$cnx = mysql_connect( "localhost", "root", "") ;
$db = mysql_select_db( "contactplusbis") ;

if($idNaturentreprise==18 && $capitale >=1000000){
$sql1 ="insert into entreprises values('', 'a donner','$noment','$adress','$tel','$fax','$mail','$website','$bp','$datecrea','$dure','$type','$departement','$region','$nomcom','$nomdomicilia','$numdomicia','$idfiscalite','$sigle','$logo','$position')";
$requete = mysql_query($sql1, $cnx) or die( mysql_error() ) ;
$nombre = mysql_insert_id();
$sql2="insert into lignenaturetreprise values('' ,'$nombre','$idNaturentreprise','$capitale','0000-00-00')";
header('location:page de clarification des forme juridiques.php');
}
else {
echo '<meta http-equiv="refresh" content="0;URL=acc.php">';

}

if($idNaturentreprise==2 && $capitale >= 1000000){
$sql3="insert into entreprises values('', 'a donner','$noment','$adress','$tel','$fax','$mail','$website','$bp','$datecrea','$dure','$type','$departement','$region','$nomcom','$nomdomicilia','$numdomicia','$idfiscalite','$sigle','$logo','$position')";
$requete = mysql_query($sql3, $cnx) or die( mysql_error() ) ;
$nombre = mysql_insert_id();
$sql2="insert into lignenaturetreprise values('' ,'$nombre','$idNaturentreprise','$capitale','0000-00-00')";
header('location:page de clarification des forme juridiques.php');
}
else {
echo '<meta http-equiv="refresh" content="0;URL=acc.php">';
exit();
}

if($idNaturentreprise==3 && $capitale >= 10000000){
$sql5="insert into entreprises values('', 'a donner','$noment','$adress','$tel','$fax','$mail','$website','$bp','$datecrea','$dure','$type','$departement','$region','$nomcom','$nomdomicilia','$numdomicia','$idfiscalite','$sigle','$logo','$position')";
$requete = mysql_query($sql5, $cnx) or die( mysql_error() ) ;
$nombre = mysql_insert_id();
$sql2="insert into lignenaturetreprise values('' ,'$nombre','$idNaturentreprise','$capitale','0000-00-00')";
header('location:page de clarification des forme juridiques.php');
}
else {
echo '<meta http-equiv="refresh" content="0;URL=acc.php">';
exit();}

if($idNaturentreprise=!18 || $idNaturentreprise=!2 || $idNaturentreprise=!3){
$sql4="insert into entreprises values('', 'a donner','$noment','$adress','$tel','$fax','$mail','$website','$bp','$datecrea','$dure','$type','$departement','$region','$nomcom','$nomdomicilia','$numdomicia','$idfiscalite','$sigle','$logo','$position')";
$requete = mysql_query($sql4, $cnx) or die( mysql_error() ) ;
$nombre = mysql_insert_id();
$sql2="insert into lignenaturetreprise values('' ,'$nombre','$idNaturentreprise','$capitale','0000-00-00')";
}


//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
header("location:message de creation entreprise reussie.php") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>



A voir également:

2 réponses

xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
19 févr. 2013 à 14:07
change
if($idNaturentreprise=!11)


par
if($idNaturentreprise != 11)
0
si je l ai ai fais mais a chaque fois c est le second instruction qui s 'éxecute
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
Modifié par xamurai le 19/02/2013 à 14:19
c'est quoi la valeur de $idNaturentreprise ?
0
la valeur de idNaturentreprise soit a 2, 3, 18 ou 23,24 mais les teste se font pour savoir si la valeur est égale a 2,3 ou 18
0
xamurai Messages postés 223 Date d'inscription mardi 11 janvier 2011 Statut Membre Dernière intervention 19 février 2013 15
19 févr. 2013 à 20:12
poste moi le resultat de :
 echo "<br> {$idNaturentreprise}" .( ($idNaturentreprise != 11) ? "not 11" : "is 11");


juste avant le if
0
Lyvanir Messages postés 5 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 20 février 2013
20 févr. 2013 à 10:38
Je n'ai pas lu l'intégralité de ton code (un petit effort de mise en page serait appréciable), mais si le résultat de ton test execute toujours le else tu devrais vérifier les valeurs de ce test.

Execute ton code en mode debug avec un point d'arrêt à l'endroit souhaiter, essaye de mettre une valeur brut à ta variable du style "x = 7" de manière a vérifer que ton test fonctionne correctement.

maVariable = 11; //essaye aussi une valeur différente de 11 par la suite.
if (maVariable != 11) {
     echo "Condition vraie";
} else {
     echo "Condition fausse";
}

C'est un test simple qui te permettra de visualiser si ton erreur viens bien de ton test ou pas.

Ensuite vérifie que la valeur de ta variable est affecté correctement.
Ou alors tout simplement ta variable ne possède jamais la valeur "11"

En éspérant t'avoir aider, cordialement.
0