table liées

table liées - PHP - Programmation

Marsh Posté le 31-08-2002 à 00:27:48    

Posté le 30-08-2002 à 22:12:29                          
 
--------------------------------------------------------------------------------
salut toul'monde  
     
voilà le début d'un script qui servira à uploader des images. Quand un NOUVEAU visiteur envoie le formulaire, ses infos sont écrites dans la table people, les infos concernant son image dans la table inventions. On récupère aussi le dernier id créé dans la table people (champ index_p) et on l'écrit dans le champ id_people de la table inventions, tout baigne. MAIS, si le visiteur est déjà enregistré, je voudrais y écrire l'index_p qui existe déjà. La partie [détection/ne pas créer le people qui existe déjà] fonctionne, il me manque juste la formule magique ...  
$id_people = ????????;  
 
Narine  
 
 
<body>  
<?  
$db = mysql_connect('localhost', 'root', '';); // connexion  
mysql_select_db('zygotest',$db);  
 
$sql = "SELECT index_p FROM people WHERE inventeur='$inventeur'";  
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
$res= mysql_numrows($req);  
 
if($res!=0) // l'inventeur existe déjà  
{  
// $id_people = ????????;  
 
$sql = "INSERT INTO inventions VALUES('','$titre','','','$comment','','','','$id_people';)";  
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
echo 'Votre oeuvre été ajoutée. Elle ne sera visible qu'après validation.';  
}  
 
else // L'inventeur n'existe pas  
{  
$sql = "INSERT INTO people VALUES('','$inventeur','$email','$url','$pays';)";  
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
 
$id_people = mysql_insert_id();  
 
$sql = "INSERT INTO inventions VALUES('','$titre','','','$comment','','','','$id_people';)";  
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
echo 'Vos infos et oeuvre ont été ajoutées.';  
}  
 
mysql_close($db); // stop connexion  
?>  
</body>

Reply

Marsh Posté le 31-08-2002 à 00:27:48   

Reply

Marsh Posté le 31-08-2002 à 00:40:57    

UPDATE table SET champ1='blabla', champ2='blablabla'

?
 
 
P.S.: utilise ce format la pour les insert into c'est bien plus souple que de mettre des ,,,, partout
 

INSERT INTO table SET champ1='blabla', champ2='blablabla'


 
a+


Message édité par Schtroumpheur le 31-08-2002 à 00:41:46
Reply

Marsh Posté le 31-08-2002 à 01:00:11    

essai ca :
 

Code :
  1. <body> 
  2. <? 
  3. $db = mysql_connect('localhost', 'root', ''); // connexion   
  4. mysql_select_db('zygotest',$db); 
  5. $sql = "SELECT index_p FROM people WHERE inventeur='$inventeur'"; 
  6. $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  7. $res= mysql_numrows($req); 
  8. if($res!=0) // l'inventeur existe déjà   
  9. {
  10. $id_people = mysql_result($req, 0, "index_p" );
  11. $sql = "INSERT INTO inventions VALUES('','$titre','','','$comment','','','','$id_people')"; 
  12. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  13. echo 'Votre oeuvre été ajoutée. Elle ne sera visible qu'après validation.'; 
  14. else // L'inventeur n'existe pas   
  15. $sql = "INSERT INTO people VALUES('','$inventeur','$email','$url','$pays')"; 
  16. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  17. $id_people = mysql_insert_id(); 
  18. $sql = "INSERT INTO inventions VALUES('','$titre','','','$comment','','','','$id_people')"; 
  19. mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
  20. echo 'Vos infos et oeuvre ont été ajoutées.'; 
  21. mysql_close($db); // stop connexion   
  22. ?> 
  23. </body>


Message édité par Kyle le 31-08-2002 à 01:00:53
Reply

Marsh Posté le 31-08-2002 à 01:11:23    

Youpi, ça marche,
MERCI :bounce:  
Kyle

Reply

Marsh Posté le 31-08-2002 à 01:14:42    

de rien :)

Reply

Sujets relatifs:

Leave a Replay

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