Aide sur if et else dans les requettées sql

[Fermé]
Signaler
-
Messages postés
5
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
20 février 2013
-
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

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


par
if($idNaturentreprise != 11)
si je l ai ai fais mais a chaque fois c est le second instruction qui s 'éxecute
Messages postés
223
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
19 février 2013
15
c'est quoi la valeur de $idNaturentreprise ?
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
Messages postés
223
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
19 février 2013
15
poste moi le resultat de :
 echo "<br> {$idNaturentreprise}" .( ($idNaturentreprise != 11) ? "not 11" : "is 11");


juste avant le if
Messages postés
5
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
20 février 2013

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.