Bonjour ,
voici mon problème , j'ai 2 liste déroulante alimentée par une base de données MySql
la première liste déroulante est alimenté par une table et la deuxième par une autre table en fonction de la première liste déroulante grâce a un ID en commun .
En gros je choisi ce que je veux dans mes liste déroulante puis je saisis une date dans un champ et un commentaire dans un autre champs.
J'ai une requête d'insertion qui insertion la date et le commentaire dans une table mais dans cette table je dois alimenter un ID en rapport avec la 1ere liste déroulante et un ID en rapport avec la deuxième (En gros les clé étrangère).
En bref j'aimerais savoir comment récupérer ces ID en fonction du choix que je vais faire dans mes listes pour les insérer dans la table avec ma requête.
je vous donne le code de mes liste déroulantes et celui de ma requête d 'insertion.
merci
romain
<?php
if (!isset($_SESSION['Nom_Rep']))
{
header ('Location: identification.php');
exit();
}
// Configuration MySQL
$host_db = "localhost";
$user_db = "root";
$password_db = "";
$bdd_db = "RAPPORT";
// connexion a la base de donnees et selection de la table
$connect_db = mysql_connect($host_db,$user_db,$password_db);
mysql_select_db($bdd_db,$connect_db);
require_once("../xajax.inc.php");
function SelectRepresentant($catid)
{
$options="";
// créé un nouvel objet permettant d'envoyer une réponse au côté client
$objResponse = new xajaxResponse();
// on selectionne les sous-catégorie en fonction de l'id de la catégorie mère
$sql="SELECT Num_Cli,Nom_Cli from client where Num_Rep_Mere = '".$catid."'";
$req=mysql_query($sql);
while ($ClientRep = mysql_fetch_array($req))
{
// on place toutes les sous-catégories dans des options valables pour la liste SELECT
$options .= '<option value="'.$ClientRep ['Num_Cli'].'" selected>'.$ClientRep ['Nom_Cli'].'</option>';
//<option value="'.$souscat['Num_Cli'].'" selected >'.$souscat['Nom_Cli'].'</option>';
}
// l'Ajax remplacera le innerHTML (html intérieur) de la liste_Client pour y mettre $options
$objResponse->addAssign("liste_Client","innerHTML",$options);
// envoie la réponse en XML
return $objResponse->getXML();
}
$xajax = new xajax();
//$xajax->debugOn();
$xajax->registerFunction("SelectRepresentant");
$xajax->processRequests();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test de select dynamiques</title>
<?php $xajax->printJavascript("../") ?>
</head>
<body>
Bienvenue<br>
<?php echo htmlentities(trim($_SESSION['Nom_Rep'])); ?><br />
<?php echo htmlentities(trim($_SESSION['Prenom_Rep'])); ?><br />
<a href="logout.php">Déconnexion</a>
<FORM method=post action="formulairephp.php">
//<form id="testForm1">
Choisissez un representant : <select id="liste_Representant"onchange="xajax_SelectRepresentant(this.value)">
<option value=""></option>
<?php
$sql="SELECT Num_Rep,Nom_Rep FROM representant ORDER BY Nom_Rep ASC";
$req=mysql_query($sql) or die(mysql_error());
while($cat = mysql_fetch_array($req))
{
echo '<option value="'.$cat['Num_Rep'].'"selected>' . $cat['Nom_Rep'] . '</option>';
}
?>
</select>
Choisissez un Client : <select id="liste_Client">
</select>
</br>
</TR>
<TR>
<TD>Date</TD>
<TD>
<INPUT type=text name="Date">
</TD>
</TR>
<TR>
<TD>Commentaires</TD>
<TD>
<TEXTAREA rows="10" name="Commentaire">
Tapez ici vos commentaires</TEXTAREA>
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Envoyer">
</TD>
</TR>
</form>
</body>
</html>
la page d'insertion
<?php
if(isset($_POST['Date'])) $Date=$_POST['Date'];
else $Date="";
if(isset($_POST['Commentaire'])) $Commentaire=$_POST['Commentaire'];
else $Commentaire="";
// connexion à la base
$db=mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('RAPPORT',$db) or die('Erreur de selection '.mysql_error());
$sql="insert into rdv (Date,Commentaire) values ('$Date','$Commentaire')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo $Commentaire;
echo 'Vos infos on été ajoutées.';
echo '<br><br>';
echo '<a href="logout.php">Déconnexion</a> ';
//}
//mysql_close($db); // on ferme la connexion
?>