Bonjour à tous,
Je suis en train de réaliser 2 listes déroulantes liées entre elles, ce qui fonctionne correctement donc quand je choisis un nom dans ma 1ere liste, la 2e liste n'affiche que les numéros correspondant à ce nom.
Par contre lorsque je sélectionne un numéro dans ma 2e liste, je n'arrive pas à renvoyer les données relatives à ce numéro comme la ville, le pays, etc repris dans la base de données.
Je reçois le message "undefined offset"... Je pense que le souci se situe à la fin du code ici:
Merci beaucoup pour votre aide!
Mon code:
Modifié par san1981 (17 Apr 2011 - 12:34)
Je suis en train de réaliser 2 listes déroulantes liées entre elles, ce qui fonctionne correctement donc quand je choisis un nom dans ma 1ere liste, la 2e liste n'affiche que les numéros correspondant à ce nom.
Par contre lorsque je sélectionne un numéro dans ma 2e liste, je n'arrive pas à renvoyer les données relatives à ce numéro comme la ville, le pays, etc repris dans la base de données.
Je reçois le message "undefined offset"... Je pense que le souci se situe à la fin du code ici:
if (isset($_POST[$code_dept[$d]])) {
$sql = 'SELECT * FROM pharmacies WHERE APB = "'.$_POST[$code_dept[$d]].'"';
Merci beaucoup pour votre aide!
Mon code:
<?php
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "base";
$idr = isset($_POST['rep'])?$_POST['rep']:null;
$idrapb = isset($_POST['APB'])?$_POST['APB']:null;
if(isset($_POST['ok']) && isset($_POST['APB']) && $_POST['APB'] != "")
{
$region_selectionnee = $_POST['rep'];
$dept_selectionne = $_POST['APB'];
}
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_rep`, `rep`"." FROM `rep`"." ORDER BY `id_rep`";
$rech_regions = mysql_query($sql1);
$code_region = array();
$region = array();
$nb_regions = 0;
if($rech_regions != false)
{
while($ligne = mysql_fetch_assoc($rech_regions))
{
array_push($code_region, $ligne['id_rep']);
array_push($region, $ligne['rep']);
$nb_regions++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<select name="rep" id="rep" onchange="document.forms['chgdept'].submit();">
<option value="-1">Choisissez un nom</option>
<?php
for($i = 0; $i < $nb_regions; $i++)
{
?>
<option value="<?php echo($code_region[$i]); ?>"<?php echo((isset($idr) && $idr == $code_region[$i])?" selected=\"selected\"":null); ?>><?php echo($region[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_regions);
if(isset($idr) && $idr != -1)
{
$sql2 = "SELECT `id_pharmacie`, `APB`"." FROM `pharmacies`"." WHERE `id_rep` = ". $idr .""." ORDER BY `APB`;";
if($connexion != false)
{
$rech_dept = mysql_query($sql2, $connexion);
$nd = 0;
$code_dept = array();
while($ligne_dept = mysql_fetch_assoc($rech_dept))
{
array_push($code_dept, $ligne_dept['APB']);
$nd++;
}
?>
<select name="APB" id="APB" onchange="submit();">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($code_dept[$d]); ?></option>
<?php
}
?>
</select>
</form>
<?php
}
mysql_free_result($rech_dept);
if (isset($_POST[$code_dept[$d]])) {
$sql = 'SELECT * FROM pharmacies WHERE APB = '.$_POST[$code_dept[$d]].'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br/>'.mysql_error());
while ($donnees=mysql_fetch_array($req))
{
echo "<table>
<tr>
<td>test:".$donnees['city']."</td>
<td>".$donnees['country']."</td>
</tr>
</table>
";
}}
else {
echo '';
}
}
mysql_close($connexion);
}
else
{}
?>
Modifié par san1981 (17 Apr 2011 - 12:34)