Problée de requete sql

Fermé
lyn87 Messages postés 67 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 23 mars 2010 - 23 juil. 2009 à 16:40
lyn87 Messages postés 67 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 23 mars 2010 - 23 juil. 2009 à 19:18
Bonjour,
j'ai un probléme avec la requete sql suivante
j'ai deux tables passager et compagnon :

`passager` (`id_client1` ,`civ` ,`nom` ,`prenom` ,`email` ,`tel`
`compagnon` (`id_comp` ,`id_client1` ,`civ_comp` ,`nom_comp` ,`prenom_comp` ,`an_de_naissance`)

j'ai le client sera inséré dans la table passager ;et le compagnon qui est soit adulte ou enfant
dans le cas ou c'est un adulte il sera inséré dans la table compagnon sans "an_de_naissance" et dans le cas ou c'est un enfant ou bébé il sera inséré dans la même table sans "civ_comp"
j'ai reussi à faire ce code mais j'ai un probléme lors de l'insertion d'un adulte dans la table compagnon sql m'affiche erreur"Incorrect integer value: '' for column 'an_de_naissance' at row 1"
voici mon code :
//************************************Client*****************************************

$i=0;
echo('<form method="post" action="information voyageur.php">');

echo(' le nombre de voyageur est : '.$ta_variable_utilise.'<br/><br>');


echo'
<label><span class="Style3">Civilité : </span>
<select name="civ'.$i.'" >
<option value="Mr">Mr</option>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
</select>
</label>
<label><span class="Style3">Nom :</span><input type="text" name="nom'.$i.'" /></label>
<label><span class="Style3">Prénom :</span><input type="text" name="prenom'.$i.'"/></label>

';
$adults=$adults-1;
echo('<hr>');

//*******************************************Compagnons***********************************

for($i=1;$i<($ta_variable_utilise);$i++)
{
if($adults!=0)
{
echo'
<label><span class="Style3">Civilité : </span>
<select name="civ'.$i.'" >
<option value="Mr">Mr</option>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
</select></label>
<label><span class="Style3">Nom :</span><input type="text" name="nom'.$i.'" /></label>
<label><span class="Style3">Prénom :</span><input type="text" name="prenom'.$i.'" /></label>
';
$adults=$adults-1;
echo('<hr>');
}


//**********************************les enfants***************************************
elseif ($enfants!=0)
{
echo'
<label><span class="Style3">Nom :</span><input type="text" name="nom'.$i.'" /></label>

<label><span class="Style3">Prénom :</span><input type="text" name="prenom'.$i.'"/></label>
<label><span class="Style3">Né en:</span>
<select name="an'.$i.'" >
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
<option value="1999">1999</option>
<option value="1998">1998</option>
<option value="1997">1997</option>
</select></label><br><br>
';
$enfants=$enfants-1;

}
//**************************************les bebes************************************
else
{

echo'
<label><span class="Style3">Nom :</span><input type="text" name="nom'.$i.'" /></label>
<label><span class="Style3">Prénom :</span><input type="text" name="prenom'.$i.'" /></label>

<label><span class="Style3">Né en:</span>
<select name="an'.$i.'" >
<option value="2009">2009</option>
<option value="2008">2008</option>
<option value="2007">2007</option>
<option value="2006">2006</option>
</select> </label></br></br>';

}
}
//*****************************email et numero de telephone du client******************************************
$i=0;
echo'<label><span class="Style3">Email :</span><input type="text" name="email'.$i.'" /></label>
<label><span class="Style3">N° de téléphone :</span><input type="text" name="tel'.$i.'" /></label><br><br>';
//***************************************************************************************************************

echo'<input name="reserver" type="submit" value="Réserver"></br>';
echo'<input type="hidden" name="compteur_boucle" value="'.$ta_variable_utilise.'" />';
echo'<input type="hidden" name="adults" value="'.$adults.'" />';
}


//***************************************************************************************************************





//ensuite on lance la boucle pour taiter les infos
if (isset($_POST['reserver']))
{
connectAdministrateur();


$ta_variable_utilise=$_POST['compteur_boucle'];
$adults=$_POST['adults'];

$i=0;
$civ = isset($_POST['civ'.$i])?$_POST['civ'.$i] : null;
$nom = isset($_POST['nom'.$i])?$_POST['nom'.$i] : null;
$prenom = isset($_POST['prenom'.$i])?$_POST['prenom'.$i] : null;
$email = isset($_POST['email'.$i])?$_POST['email'.$i] : null;
$tel = isset($_POST['tel'.$i])?$_POST['tel'.$i] :null;


$sql='INSERT INTO passager (`id_client1` ,`civ` ,`nom` ,`prenom` ,`email` ,`tel`)
VALUES ("0","'.$civ.'","'.$nom.' ","'.$prenom.'","'.$email.'","'.$tel.'")';

//maintenant je les inseres
mysql_query($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());



//****************************************************************************************************************
// les compagnons

$id_client1 = mysql_insert_id();
for($i=1;$i<$ta_variable_utilise;$i++)
{

$civ = isset($_POST['civ'.$i])?$_POST['civ'.$i] : null;
$nom = isset($_POST['nom'.$i])?$_POST['nom'.$i] : null;
$prenom = isset($_POST['prenom'.$i])?$_POST['prenom'.$i] : null;
$an_de_naissance= isset($_POST['an'.$i])?$_POST['an'.$i]:null;
$requete='INSERT INTO compagnon VALUES ("0","'.$id_client1.'","'.$civ.'","'.$nom.'" ,"'.$prenom.'","'.$an_de_naissance.'" ) ';

//maintenant je les inseres
mysql_query($requete) or die ('Erreur SQL !'.$requete.'<br />'.mysql_error());



}



}


?>

1 réponse

lyn87 Messages postés 67 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 23 mars 2010 1
23 juil. 2009 à 19:18
le probléme vient d'être résolu grace a deux amis de developpez.com

remplacer la requete suivante
$requete='INSERT INTO compagnon VALUES ("0","'.$id_client1.'","'.$civ.'","'.$nom.'" ,"'.$prenom.'","'.$an_de_naissance.'" ) ';


par
$requete='INSERT INTO compagnon VALUES ("0","'.$id_client1.'","'.$civ.'","'.$nom.'" ,
"'.$prenom.'",'.((strlen($an_de_naissance)>0)?$an_de_naissance:'NULL').') ';
0