impossible d'inserer une donnee issue d'une autre table

Eléphanteau du PHP | 25 Messages

07 mars 2006, 17:04

salut ! Je n'arrive pas à inserer la fonction au contact:
Je fais cela :
Dans mon formulaire d'insertionContact.htm--->
<select name="id_fonction" >
 <?php
$query = " SELECT id_fonction, fonction  FROM fonction order by fonction ";
$result = mysql_query($query) or die ("Requete '$query' impossible"); 
while($row = mysql_fetch_array($result))
{		
print"<option value=".$row[id_fonction].">".$row[fonction]."</option>";
}
?>
</select>
 Le reste sur insertion.php --->
 $id_fonction=$_POST["id_fonction"];
 $fonction=$_POST["fonction"];
 $nom=$_POST["nom"];
 $prenom=$_POST["prenom"];
 $email=$_POST["email"];
 $tel=$_POST["tel"];
 $adresse1=$_POST["adresse1"];
 $adresse2=$_POST["adresse2"];
 $code_postal=$_POST["code_postal"];
 $ville=$_POST["ville"];
 
 // Creation de la requete sql
 $sql="INSERT INTO contact (id_contact,id_fonction,fonction, nom, prenom, email, tel, adresse1, adresse2,code_postal, ville)
        VALUES ('','$id_fonction','$fonction','$nom','$prenom','$email','$tel','$adresse1','$adresse2','$code_postal','$ville')";
et ma requete sur la liste.php :
 $query=" SELECT id_fonction,fonction, nom, prenom, email,email,tel, adresse1, adresse2,code_postal,ville 
 FROM contact ,fonction  
 WHERE contact.id_fonction = fonction.id_fonction 
 AND fonction.id_fonction = ".$id_fonction;
 
merci par avance

Mammouth du PHP | 768 Messages

07 mars 2006, 17:53

Dans la partie // Creation de la requete sql je ne vois pas de mysql_query() pour exécuter la requête.
Je ne comprend pas ce que tu veux dire par:
salut ! Je n'arrive pas à inserer la fonction au contact
rencontres tu un message d'erreur ?
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 mars 2006, 17:55

Yop!

Qu'est ce qui ne marche pas ? as-tu un message d'erreur ?
est ce que la ligne insérée est présente en base ou est ce que c'est avant l'insert que tu as un problème ?

Tu n'aurais pas un message d'erreur genre "ambiguous field" sur le "SELECT id_fonction" dont on ne sait pas s'il provient de fonction ou de contact ? (accessoirement tu ramènes aussi deux fois le champ mail)

Eléphanteau du PHP | 25 Messages

07 mars 2006, 18:39

Salut et merci !

En fait dans le select,quand j'insere un contact la fonction ne s'affiche pas !
Suis-je clair ? :?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 mars 2006, 18:43

Suis-je clair ? :?
beeennn..... :)

- C'est dans ta liste déroulante que tu veux sélectionner la fonction qui a été attribuée ?
- C'est dans le traitement du SELECT sql qu'il y a un problème d'affichage ?
- L'insertion en base c'est elle faite correctement (déjà)

moi j'dis, peux mieux faire côté explications de ce que tu attends ;)

Eléphanteau du PHP | 25 Messages

07 mars 2006, 20:18

Salut !
:oops: desole ne pas être clair !

C'est bien dans le select (liste deroulante) quesles fonctions ne s'affichent pas.

merci par avance

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

07 mars 2006, 23:55

essaie avec:
print"<option value=".$row['id_fonction'].">".$row['fonction']."</option>";
Pour que les variables soient considérées comme des chaines de caratères et non comme des pseudo-constantes.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute