[php] jointures + insert into

jointures + insert into [php] - PHP - Programmation

Marsh Posté le 06-12-2002 à 16:00:28    

mes tables  
 
table utilisateurs:
 
| nom  | prenom | fonction | id_site  | id_service | id_societe |
|pierre | jean   | admin   | 1        | 2          | 1          |
 
table site
 
| id_site | nom  |
| 1       | paris|
| 2       | lyon |  
 
table service
 
| id_ervice | nom    |
| 1         | compta |
| 2         | info   |
 
table societe
 
| id_societe | nom   |
| 1          | Tek |
| 2          | crosoft |
 
 
$result=mysql_query("INSERT INTO utilisateurs (nom,prenom,fonction,telephone,site,societe,service,mail)
              VALUES ('$nom','$prenom','$fonction','$tel','$site','$societe','$service','$mail';)" );

 
je voudrais ajouter des infos comme ca mais comment faire avec les jointures


Message édité par sakuraba le 06-12-2002 à 16:00:55
Reply

Marsh Posté le 06-12-2002 à 16:00:28   

Reply

Marsh Posté le 06-12-2002 à 16:02:39    

Uh?
 
Tu peux montrer le formulaire qui te donne les variables?
 
Sinon, tu aurais pu prolonger ton topic, c'est le bordel là ;)

Reply

Marsh Posté le 06-12-2002 à 16:06:28    

sakuraba a écrit :

formulaire pour ajouter un utilisateur à la table "utilisateurs"
<form action="send.php">
<table border=3 table bordercolor=green>  
<tr>  
<th> Nom </th>  
<th> Prénom </th>  
<th> fonction </th>  
<th> tel </th>
</tr>
<td> <input type=text name=nom> </td>  
<td> <input type=text name=prenom> </td>  
<td><input type=text name=fonction></td>  
<td><input type=text name=tel></td>
</table>
<br>
<table border=3 table bordercolor=green>
<tr>
<th> site </th>
<th> societe </th>
<th> service </th>
<th> mail </th>
</tr>  
<tr>  
 
<td><select name="site"><? $requete="select nom from site ORDER BY nom";
  $reponse = mysql_query($requete);
   
  while ($row = mysql_fetch_array($reponse)) { ?>
     
      <option value="<? echo $row["nom"]; ?>"><? echo $row["nom"]; ?></option>
     
  <? } ?></select>  
 </td>
   
<td><select name="societe"><? $requete="select nom from societe ORDER BY nom";
  $reponse = mysql_query($requete);
   
  while ($row = mysql_fetch_array($reponse)) { ?>
     
      <option value="<? echo $row["nom"]; ?>"><? echo $row["nom"]; ?></option>
     
  <? } ?></select> </td>
<td><select name="service"><? $requete="select nom from service ORDER BY nom";
  $reponse = mysql_query($requete);
   
  while ($row = mysql_fetch_array($reponse)) { ?>
     
      <option value="<? echo $row["nom"]; ?>"><? echo $row["nom"]; ?></option>
     
  <? } ?></select></td>
<td><input type=text name=mail></td>
</tr>  
</table>
<br>
<input type=submit value="Enregistrer">
<input type=reset value="Effacer">
</form>
</body>
</html>
 
 
oui mais dans le meme topic ca fait bordel et personne voit mon pb
   
 
   
   
   
 

Reply

Marsh Posté le 06-12-2002 à 16:22:45    


 
Pour tes listbox : au lieu de donner la valeur "nom", donne la valeur de l'identifiant.
 
Ainsi, tu récupères directement la valeur à insérer dans ta table.

Reply

Marsh Posté le 06-12-2002 à 16:24:51    

comment tu fais ca car ds mon formulaire je veux voir les noms et pas les id

Reply

Marsh Posté le 06-12-2002 à 16:27:08    

je vois l idee mais je vois pas comment faire

Reply

Marsh Posté le 06-12-2002 à 16:27:57    

Quand tu mets
 
<option value="1">Fraises</option>
 
La valeur du champ est "1", mais le libellé est "Fraises".
 
Ce qui t'intéresse ici, c'est la valeur et pas le libellé!
 
D'où : value = id
libellé = nom

Reply

Marsh Posté le 06-12-2002 à 16:28:47    

$requete = "select id_site, nom from site";
...
<option value="<? echo $row["id_site"]; ?>"><? echo $row["nom"]; ?></option>

Reply

Marsh Posté le 06-12-2002 à 16:35:42    

ok mais pour le insert into tu fais comment alors ?

Reply

Marsh Posté le 06-12-2002 à 16:47:46    

Bin comme t'as fait, tu récupères les bonnes valeurs avec $HTTP_POST_VARS
 
Tu connais http://www.php.net/manual/fr/ ? :D

Reply

Marsh Posté le 06-12-2002 à 16:47:46   

Reply

Marsh Posté le 06-12-2002 à 17:09:40    

<?php
    //-----------------------
    // Nom du fichier : send.php
    //
 
      // Parametres de connexion à la base de données
     // Cf. tutorial Base de données  
    $dbhost="localhost";
    $dblogin="root";
    $dbpassword="";
    $dbname="intranet";
     
     
    // en variables globales
    $nom     = $_GET["nom"];
    $prenom  = $_GET["prenom"];
    $fonction = $_GET["fonction"];
    $tel = $_GET["tel"];
 $site = $_GET["site"];
 $societe = $_GET["societe"];
 $service = $_GET["service"];
 $mail = $_GET["mail"];
 
 
 //connexion à la base de donnée Mysql
    echo "Connection à la base de données ...<br>";
    mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
 //requete qui ajoute un utilisateur à la table "utilisateurs"
    $result=mysql_query("INSERT INTO utilisateurs (nom,prenom,fonction,telephone,id_site,id_societe,id_service,mail)
              VALUES ('$nom','$prenom','$fonction','$tel','$site','$societe','$service','$mail'" );
     print"<br>";
 
 if($result==null) echo mysql_error();
 print"<br>";
 //si requete echec message d echec
    if (!$result) {
        echo "L'enregistrement de vos données a échoué. Essayez plus tard<br>";
 //sinon message de reussite avec le nom de l'utilisateur qui a été ajouté à la table "utilisateurs"
    } else {
        echo "Félicitations. l'utilisateur $prenom $nom est ajouté à la liste telephonique<br>";
    }
 //fin de la connexion  à la base de donnée
    mysql_close();
?>
 
 
 
 
Connection à la base de données ...
 
Something is wrong in your syntax près de '' à la ligne 2
L'enregistrement de vos données a échoué. Essayez plus tard

 
elle est ou l erreur la je vois pas du tout

Reply

Marsh Posté le 06-12-2002 à 17:18:21    

("INSERT INTO utilisateurs (nom,prenom,fonction,telephone,id_site,id_societe,id_service,mail)
             VALUES ('$nom','$prenom','$fonction','$tel','$site','$societe','$service','$mail')" );
   

Reply

Marsh Posté le 06-12-2002 à 17:26:17    

oki merci ca marche du tonnerre  
t es trop fort

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed