Sql copier valeur d'un champ id ver suatre ta
Résolu
stefanelle
-
stefanelle -
stefanelle -
Bonjour,
j ai crée un formulaire permettant d inserez des données dans deux tables. et d'afficher le résultat grâce a un select sur les deux tables.
ma premiere table label à un champ id_label en auto increment
Ma deuxieme table contenu à un champ id_label qui n'est pas en auto increment
comment faire en sorte que quand j insere des valeurs via mon formaulaire dans es tables par exemple label1, reference11 artiste 1 ... l id_label de la table label se copie vers l id_label de la table contenu ?
J espere etre clair ...
je vous joins mon fichier php qui traite linsertion
Merci
<?php
include ('config.php');
include ('connexion.php');
//récupération des valeurs des champs:
//label:
$nom_label = $_POST["label"] ;
//reference:
$reference = $_POST["reference"] ;
//artiste:
$artiste = $_POST["artiste"] ;
//album:
$album = $_POST["album"] ;
//format:
$format = $_POST["format"] ;
//création de la requête SQL:
$sql1 = "INSERT INTO label (nom_label)
VALUES ( '$nom_label') " ;
$sql2 = "INSERT INTO contenu (reference, artiste, album, format)
VALUES ( '$reference', '$artiste','$album', '$format') " ;
//exécution de la requête SQL:
$requete = mysql_query($sql1) or die( mysql_error() ) ;
$requete = mysql_query($sql2) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo ("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>
j ai crée un formulaire permettant d inserez des données dans deux tables. et d'afficher le résultat grâce a un select sur les deux tables.
ma premiere table label à un champ id_label en auto increment
Ma deuxieme table contenu à un champ id_label qui n'est pas en auto increment
comment faire en sorte que quand j insere des valeurs via mon formaulaire dans es tables par exemple label1, reference11 artiste 1 ... l id_label de la table label se copie vers l id_label de la table contenu ?
J espere etre clair ...
je vous joins mon fichier php qui traite linsertion
Merci
<?php
include ('config.php');
include ('connexion.php');
//récupération des valeurs des champs:
//label:
$nom_label = $_POST["label"] ;
//reference:
$reference = $_POST["reference"] ;
//artiste:
$artiste = $_POST["artiste"] ;
//album:
$album = $_POST["album"] ;
//format:
$format = $_POST["format"] ;
//création de la requête SQL:
$sql1 = "INSERT INTO label (nom_label)
VALUES ( '$nom_label') " ;
$sql2 = "INSERT INTO contenu (reference, artiste, album, format)
VALUES ( '$reference', '$artiste','$album', '$format') " ;
//exécution de la requête SQL:
$requete = mysql_query($sql1) or die( mysql_error() ) ;
$requete = mysql_query($sql2) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo ("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>
A voir également:
- Sql copier valeur d'un champ id ver suatre ta
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Id telephone - Guide
- Retrouver un copier-coller android - Guide
- Https //id.sonyentertainmentnetwork.com/id/management/ ✓ - Forum PS4
5 réponses
Salut,
Tu rajoutes après ton 1er mysql_query :
ce qui donnerait :
Tu rajoutes après ton 1er mysql_query :
$id_label_insere = mysql_insert_id();
ce qui donnerait :
$sql1 = "INSERT INTO label (nom_label) VALUES ( '$nom_label') " ; $requete = mysql_query($sql1) or die( mysql_error() ) ; $id_label_insere = mysql_insert_id(); $sql2 = "INSERT INTO contenu (reference, artiste, album, format, id_label) VALUES ( '$reference', '$artiste','$album', '$format', $id_label_insere) " ; $requete = mysql_query($sql2) or die( mysql_error() ) ;
//création de la requête SQL:
$sql1 = "INSERT INTO label (nom_label)
VALUES ( '$nom_label') " ;
$max_id=mysql_insert_id();
$sql2 = "INSERT INTO contenu (id_label, reference, artiste, album, format)
VALUES ($max_id, '$reference', '$artiste','$album', '$format') " ;
$sql1 = "INSERT INTO label (nom_label)
VALUES ( '$nom_label') " ;
$max_id=mysql_insert_id();
$sql2 = "INSERT INTO contenu (id_label, reference, artiste, album, format)
VALUES ($max_id, '$reference', '$artiste','$album', '$format') " ;
Il faut faire le mysql_insert_id(); après le mysql_query(); ( ce qui n'était pas le cas la 1ère fois ).
Fais attention au nom de variable et mais le même partout soit : $id_label_insere ou $max_id ou ce que tu veux d'ailleurs.
Fais attention au nom de variable et mais le même partout soit : $id_label_insere ou $max_id ou ce que tu veux d'ailleurs.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non, comme dans le 1er code que je t'ai donné. fait un copier coller par exemple et dis-moi si ça marche mieux.
$sql1 = "INSERT INTO label (nom_label) VALUES ( '$nom_label') " ; $requete = mysql_query($sql1) or die( mysql_error() ) ; $id_label_insere = mysql_insert_id(); // => après insertion dans la base, on récupère l'identifiant. $sql2 = "INSERT INTO contenu (reference, artiste, album, format, id_label) VALUES ( '$reference', '$artiste','$album', '$format', $id_label_insere) " ; $requete = mysql_query($sql2) or die( mysql_error() ) ;
<?php
include ('config.php');
include ('connexion.php');
//récupération des valeurs des champs:
//label:
$nom_label = $_POST["label"] ;
//reference:
$reference = $_POST["reference"] ;
//artiste:
$artiste = $_POST["artiste"] ;
//album:
$album = $_POST["album"] ;
//format:
$format = $_POST["format"] ;
//création de la requête SQL:
$sql1 = "INSERT INTO label (nom_label)
VALUES ( '$nom_label') "
$id_label_insere = mysql_insert_id();
;
$sql2 = "INSERT INTO contenu (reference, artiste, album, format)
VALUES ( '$reference', '$artiste','$album', '$format') " ;
//exécution de la requête SQL:
$requete = mysql_query($sql1) or die( mysql_error() ) ;
$requete = mysql_query($sql2) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{
echo ("L'insertion a été correctement effectuée") ;
}
else
{
echo("L'insertion à échouée") ;
}
?>