Listes déroulante liées entres elle

Eléphanteau du PHP | 19 Messages

08 avr. 2010, 22:30

Bonjour,

Je voudrais lier 2 listes déroulantes entres elles.

Voir cette exemple : http://jmolline.free.fr/regions/

Voici mon code (PHP) :

// Construction de ma 1ére liste déroulante
$database->setQuery("SELECT id, name FROM #__marketplace_types WHERE published='1' ORDER BY sort_order");

$rows_type = $database->loadObjectList();

echo "<select class='marketplace' id='ad_type' name='ad_type'>";
foreach( $rows_type as $rowtype) {
echo "<option value='$rowtype->id'>$rowtype->name</option>";
}
echo "</select>";

echo " ";


// Construction de la 2éme liste déroulante :
$database->setQuery("SELECT id, parent, name FROM #__marketplace_categories WHERE published='1' AND has_entries>'0' AND id_type_parent=".$rows_type->id." ORDER BY parent ASC, sort_order ASC");
$rows = $database->loadObjectList();

echo "<select class='marketplace' name='category'>";

$afCounter=0;
$OptGroup = 0; // Preset Optgroup
foreach($rows as $row) {




}
echo "</select>";



J'ai essayé via plusieurs exemples mais je n'ai pas réussi à le faire fonctionner (PHP, javascript ...).

Pouvez- vous m'aider svp ?

ViPHP
AB
ViPHP | 5818 Messages

09 avr. 2010, 03:02

Regardes du côté de ce tuto

Eléphanteau du PHP | 19 Messages

09 avr. 2010, 09:41

Merci j'avais déjà lu ce tuto.

Le problème est que j'arrive pas à le faire marcher par rapport a mon code ...

Le souci est que j'ai bien au début une seule et unique liste déroulante. Le souci est que même su je choisi quelques chose dans ma liste, la 2éem n'apparait pas ...

Voici ce que j'ai fais :
 $database->setQuery("SELECT id, name FROM #__marketplace_types WHERE published='1' ORDER BY sort_order");

$rows_type = $database->loadObjectList();

?>
// document.forms['essai'].submit(); --> essai correspond à l'id de mon formulaire :
<select class="marketplace" name="ad_type" id="ad_type" onchange="document.forms['essai'].submit();">
<option value="-1">- - - Choisissez une region - - -</option>
<?
      foreach( $rows_type as $rowtype)
     {                   
	?>
	<option value="<?php echo($rowtype->id); ?>"<?php echo((isset($idr) && $idr == $rowtype->id)?" selected=\"selected\"":null); ?>><?php echo($rowtype->name); ?></option>
	<?
     }
echo "</select>";

if(isset($idr) && $idr != -1)
{
$database->setQuery("SELECT id, parent, name FROM #__marketplace_categories WHERE published='1' AND has_entries>'0' AND id_type_parent=".$rows_type->id." ORDER BY parent ASC, sort_order ASC");

$rows = $database->loadObjectList();
						
echo "<select class='marketplace' name='category'>";
	
foreach($rows as $row) {

?>
	<option value="-1">- - - Choisissez un dpt - - -</option>
<?			
}
echo "</select>";
					
}
else{
	echo "tototo";
}