pear hierselect

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pear hierselect

par Sékiltoyai » 28 avr. 2007, 22:58

Tu obtiens une erreur ?
Qu'est ce que ca donne exactement ?

pear hierselect

par Invité » 28 avr. 2007, 15:52

Bonjour,
J'ai trouvé ce tuto quickform hierselect pour faire des listes déroulantes avec les résultats d'une requete:
$form = new HTML_QuickForm('example');

$form->setDefaults(array('test' => array('4','15')));
$sel =& $form->addElement('hierselect', 'test', 'Test:', null, '/');

$mainOptions = $db->getAssoc('select pkparent, par_desc from parent');

$result = $db->query("select fk_parent, pkchild, chi_desc from child");
while ($result->fetchInto($row)) {
    $secOptions[$row[0]][$row[1]] = $row[2];
}
// Using setMainOptions and setSecOptions is now deprecated 
// use setOptions.

$sel->setOptions(array($mainOptions, $secOptions));

$form->display();
Il n'y a pas la structure de la bdd dans l'exemple et j'ai du mal à comprendre comment faire les requetes.
Dans mon cas, j'ai une liste de marques de voitures, et des modèles pour chaque marque.
Quand on choisit la marque dans la première liste, la deuxième affiche les modèles correspondants.
J'ai fait ceci mais ca ne marche pas :
$form = new HTML_QuickForm('example');

$sel =& $form->addElement('hierselect', 'test', 'Test:', null, '/');

$mainOptions = $db->getAssoc("SELECT DISTINCT V_MARQUE FROM occasions");

$result = $db->query("SELECT DISTINCT MODELE FROM occasions");
while ($result->fetchInto($row)) {
    $secOptions[$row[0]][$row[1]] = $row[2];
}
// Using setMainOptions and setSecOptions is now deprecated 
// use setOptions.

$sel->setOptions(array($mainOptions, $secOptions));