Salut ma liste déroulante obtenir la valeur de code ci-dessous:
public function getFloorsHTML() {
$jinput = JFactory::getApplication()->input;
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$myflrs = $jinput->get ('fvalue');
$query->select($db->quoteName(array('id', 'f_name')));
$query->from($db->quoteName('#__pk_flrs'));
$query->where($db->quoteName('bldg')." = ".$db->quote($myflrs));
$db->setQuery($query);
$results = $db->loadObjectList();
foreach ($results as $result)
{
echo '<option value="' . $result->id . '" > ' . $result->floor_name.'</option>';
}
exit;
}
Le code fonctionne bien, mais comment puis-je avoir la valeur par défaut "Please Select"?
Voici la réponse:
echo '<option value="">Please Select</option>';
foreach ($results as $result)
{
echo '<option value="' . $result->id . '" > ' . $result->floor_name.'</option>';
}
Juste pour aborder certains problèmes de code ici, au lieu d’utiliser une instruction exit dans votre fonction, vous devez renvoyer les valeurs à l’appel de la fonction et y exécuter votre boucle.
Par exemple:
In your default.php file:
<?php $floors = $model->getFloorsHTML();?>
<select name="floors">
<option value="">Please Select One</option>
<?php foreach($floors as $floor){?>
<option value="<?php echo $floor->id;?>"><?php echo $floor->floor_name;?></option>
<?php }?>
</select>
In your model:
public function getFloorsHTML()
{
$jinput = JFactory::getApplication()->input;
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$myflrs = $jinput->get('fvalue','','int');
$query->select("id, f_name");
$query->from("#__pk_flrs");
$query->where("bldg = ".$db->quote($myflrs));
$db->setQuery($query);
$results = $db->loadObjectList();
return $results;
}