formulaie

men
Invité n'ayant pas de compte PHPfrance

27 juil. 2005, 13:58

salut

par exp : jai de table mysql
un formulaire a envoyer contien 4 champs 2 pour la table 1 et les 2 autres pour table2
ce que je veux est d'envoyé ce formulaire par une requete d'insertion mais le probleme ce que comment faire une inserssion ds 2 tables a la fois , est ce qu'il est possible de faire une requte sql


merci d'avence

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 14:10

deux requêtes INSERT, 1 pour chaque table

ViPHP
pjl
ViPHP | 2119 Messages

27 juil. 2005, 14:11

ca se fait en 2 requêtes :

Code : Tout sélectionner

1re requete ; exécution ; 2eme requete ; exéécution;
Eventuellement, su tu as besoin de récupérer un identifiant (ou clef primaire) pour exécuter la 2eme requete, tu as la fonction PHP mysql_insert_id si ta base de données est MySQL.

Invité
Invité n'ayant pas de compte PHPfrance

27 juil. 2005, 14:50

il ya toujour un probleme requete sql invalide
voila mon programme :



if (isset($_POST["insert"])){
$subm = $_POST["insert"];
if ($subm = "ok"){
$num_clt = $_POST["num_clt"];
$nom_clt = $_POST["nom_clt"];
$cod_wil = $_POST["cod_wil"];
}



//INSERT
$req = sprintf("INSERT INTO client (`num_clt` , `nom_clt` ) VALUES ('%s','%s')", $num_clt,$nom_clt);
$sql_result = mysql_query($req) or die("Requête Insert client invalide..."); et si j'enleve cette ligne l'insetion se fait sur la table wilaya seule
$req = sprintf("INSERT INTO wilaya (`cod_w` ) VALUES ('%s')",$cod_wil);
$sql_result = mysql_query($req) or die("Requête Insert wilaya invalide...");
}

ViPHP
pjl
ViPHP | 2119 Messages

27 juil. 2005, 14:55

c'est que ta requête est fausse.
Teste la dans PHPMyAdmin.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 14:57

//INSERT
$req = sprintf("INSERT INTO client (`num_clt` , `nom_clt` ) VALUES ('%s','%s')", $num_clt,$nom_clt);
$sql_result = mysql_query($req) or die("Requête Insert client invalide..."); et si j'enleve cette ligne l'insetion se fait sur la table wilaya seule
$req = sprintf("INSERT INTO wilaya (`cod_w` ) VALUES ('%s')",$cod_wil);
$sql_result = mysql_query($req) or die("Requête Insert wilaya invalide...");
}

si j'enleve cette ligne l'insetion se fait sur la table wilaya seule
normal, tu as mis "or die()" donc comme tu as une erreur à la première requête il n'exécute pas la deuxième
remplace par ceci, cela t'affichera les erreurs SQL :
$sql_result = mysql_query($req) or die("Requête Insert client invalide... : <br>".mysql_error());

men
Invité n'ayant pas de compte PHPfrance

27 juil. 2005, 15:04

:mrgreen: super merci
ca marche ouffffff


merci encore :wink: