Ajout d'un second élément liés à 2 table sql
Bonjour ou Bonsoir , optons plutôt pour le Bonjour...
Je reviens vers vous pour avoir une piste lors de la création d'un second éléments qui est liés à 2 tables SQL..
Je m'explique, le premier script 'brouillon & test' va créer un utilisateur dans une table et la ville de sa société dans une autre table. (Script OK çà fonctionne)
Par contre le second + complexe, a pour but d'ajouter une ville de sa société rattacher à l'utilisateur (et çà ne fonctionne pas je reste planté sur mon echo indiquant qu'il me manque des variable)
Premier Script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', 'mdp');
mysql_select_db ('nom_de_la_base', $base) ;
?>
<html>
<head>
<title>Insertion de l'agence Ludo Duc et d'une nouvelle agence dans la base</title>
</head>
<body>
<?php
// on prépare la requête
$sql = 'INSERT INTO Agent1 VALUES("", "Ludo Ducat", "MXB519P", "0028750")';
// on insère le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on récupère le dernier numéro inséré, soit le numéro de tibo
$numero_insere = mysql_insert_id();
// on insère le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
$sql = 'INSERT INTO NbAgence1 VALUES ("'.$numero_insere.'", "Lille")';
// on insère le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
?>
Ludo Ducat vient d'être inseré dans la base, ainsi que sa nouvelle agence : Lille.
</body>
</html> |
Second script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', 'mdp');
mysql_select_db ('nom_de_la_base', $base) ;
?>
<html>
<head>
<title>Insertion de nouvelles agences dans la base</title>
</head>
<body>
<?php
// on teste si les variables du formulaire sont bien déclarées
if (isset($_POST['ag']) && isset($_POST['vi'])) {
// on prépare la requête pour récupérer le numero du propriétaire
$sql = 'SELECT numero FROM Agent1 WHERE agent = "'.$_POST['ag'].'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le résultat sous forme d'un tableau
$data = mysql_fetch_array($req);
// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
// on insère le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
$sql = 'INSERT INTO NbAgence1 VALUES("'.$data['numero'].'", "'.$_POST['vi'].'")';
// on insère le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base
mysql_close();
echo 'Nous venons d\'insérer une nouvelle agence : '.$_POST['vi'].' appartenant à '.$_POST['ag'];
}
else {
echo 'Les variables du formulaire ne sont pas déclarées';
}
?>
</body>
</html> |
Mes tables sont :
Agent1
agent_id : MediumInt (8)
agent : Varchar(50)
cagent : Varchar(10)
cmvs : Varchar(10)
et
NbAgence1
agent_id : MediumInt(8)
Ville : Varchar(50)
Pourriez vous m'aider ?
Par avance merci de vos réponses, bonne journée.
Cordialement,