Aide sur if et else dans les requettées sql

sarrarsenal -  
Lyvanir Messages postés 5 Statut Membre -
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") ;
}
?>



2 réponses

xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
 
change
if($idNaturentreprise=!11)


par
if($idNaturentreprise != 11)
0
sarrarsenal
 
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   Statut Membre Dernière intervention   15
 
c'est quoi la valeur de $idNaturentreprise ?
0
sarrarsenal
 
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   Statut Membre Dernière intervention   15
 
poste moi le resultat de :
 echo "<br> {$idNaturentreprise}" .( ($idNaturentreprise != 11) ? "not 11" : "is 11");


juste avant le if
0
Lyvanir Messages postés 5 Statut Membre
 
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