Passer une donnée d'une table MYSQL à une autre

thhu

Habitué
Bonjour,

Suite à l'affichage partiel d'un enregistrement d'une table A, je voudrais récupérer l'id de cet enregistrement pour faire un lien sur un enregistrement d'une autre table.

Mais là, j'y arrive pas, et je demande votre aide.


1) J’affiche un résultat, suite à une sélection via un menu, de la table A. Ce résultat se compose des champs date_reco, famille et msg_reco. Chaque résultat possible de la table est composé d’un champ id_reco qui lui est propre. Et je le récupère ici .....

[cpp]<?php
// information pour la connection à le DB
............................

$id_reco = $_GET['id_reco'];

echo "$id_reco";

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

//sélection de l'enregistrement
$select = "SELECT * FROM reconstitutions where id_reco='$id_reco'";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

{
//affichage des résultats dans un tableau
while($row = mysql_fetch_array($result)) {
echo '<table bgcolor="#FFFFFF" width="900">';
echo '<td bgcolor="#669999" width="100"><center>'.$row['date_reco'].'</center></td>';
echo '<td bgcolor="#669999" width="700"><center>Famille : <b>'.strtoupper($row['famille']).'</b></center>­</td></tr>';
echo '<tr><td colspan=2 bgcolor="#CCCCCC" width="800">'.nl2br($row['msg_reco']).'</td></tr>';
echo '</table><p>';
}
}

// on libère le résultat
mysql_free_result($result);
mysql_close(); // on ferme la connexion

?>
[/cpp]

2) Un lien sur la page résultat me mène à saisir un commentaire html sur ce résultat (là, je perd l'id_reco, et je ne sais pas comment faire pour le garder et le passer au script suivant qui est add.php

[cpp]<form method="POST" action="add.php" value="envoyer" name="soumettre">
Commentaire : <textarea cols="65" name="message" id="Message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);"></textarea><p>
<input type="submit" name="preview" value="Valider"></form></div>
</body></html>[/cpp]

3) Ce commentaire va alimenter la table B (add.php). Chaque enregistrement de cette table B est composé d’un champs "id_reco_com" qui doit être = au champ id_reco de la table A. Il peut y avoir plusieurs champs "id_reco_com" avec la même valeur, si plusieurs enregistrements de la table B font référence au même enregistrement de la table A. Et je ne sais pas comment retrouver mon id_reco de la table A pour le copier ds la table B !!!

[cpp]<?php
// information pour la connection à le DB
............................
{

// récupération des données du formulaires
$nom = $_POST['nom'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$id_reco = $_GET['id_reco'];

//enregistrement dans la table
$jour=date("d" );
$mois=date("m" );
$annee=date("Y" );
$date = "$jour/$mois/$annee";

// on écrit la requête sql
$sql = "INSERT INTO com_reconstitution(commentaire, date_com, nom_com, email_com, id_reco_com) VALUES('$chaine', '$date', '$nom', '$mail', '$id_reco')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error());

mysql_close(); // on ferme la connexion
}
header("Location: menu.php" );
exit;
?>
[/cpp]

Ca peut paraître un peu flou !!! Alors, pour récapituler :

Au point 1, j'affiche le résultat d'une requête, et je peux récupérer tous les champs de l'enregistrement "a" de la table A.
Au point 2, j'affiche une page html où je saisi un commentaire dans la table B concernant l'enregistrement "a".
Au point 3, j'écris l'enregistrement dans la table B. Cet enregistrement comporte un champs id_reco_com qui est égal au champs id_reco de la table A.
Et c'est ce champs id_reco que je n'arrive pas à passer de script en script pour l'incrire dans la table B .....

Merci d'avance pour votre aide .....

 

sisier

Grand Maître
Euuh je sais pas si j'ai bien compris.

Mais tu peux essayé de mettre ta variable id_reco dans un champs caché.


Un truc de ce genre :
[cpp]<input type="hidden" name="id_reco" id="id_reco" value="<?php echo $_GET['id_reco'];?>[/cpp]

et tu recuperes ta valeurs comme ceci :
[cpp]$_POST['id_reco'];[/cpp]

Je sais pas si j'ai repondu à ta question.J'ai lu entre les lignes
 

sisier

Grand Maître


Oui, mais comme j'avais vu qu'il avait deja une form.J'ai proposé en post.

Mais +1 aussi :)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 005
Membres
1 586 388
Dernier membre
mery2005
Partager cette page
Haut