Récup d'1 valeur php d'1 table pour autre tab

Fermé
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 25 févr. 2008 à 11:54
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 25 févr. 2008 à 16:50
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.

<?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

?>

2) Un lien sur la page résultat me mène à saisir un commentaire html sur ce résultat.

<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>

3) Ce commentaire va alimenter la table B (add.php). Chaque enregistrement de cette table 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.


<?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;
?>

Voilà !!!!! Mais ça ne fonctionne pas ........ Merci pour votre aide ....
A voir également:

1 réponse

Dans la troisieme partie de ton code tu récupères des valeurs post et get et c'est pas super. Tu est sur de ton get ? Lorsque tu soumets le formulaire (partie 2) tu retrouves ta variable get dans l'url ?
Perso j'ajouterais un champ caché contenant la valeur de l'id dans mon formulaire :
<input type="hidden" name="id_reco" value="<?php echo $id_reco ?>">
0
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 11
25 févr. 2008 à 16:50
Bonjour hotrod,

Je suis d'accord mais je m'embrouille ......
Je récupère id_reco dans le script aff_reco.php, par "$id_reco = $_GET['id_reco'];"
Mais il faudrait que je garde id_reco en mémoire quand je passe au scipt suivant commentaire.htm, car le texte saisi dans commentaire.htm va faire parti du même enregistrement dans la même table.
Viens ensuite add.php où j'écris le texte dans la table, et où je devrais écrire également id_reco dans le champ id_reco_com.
Et là, je perds id_reco dans commentaire.html !!!
0