pear hierselect

Invité
Invité n'ayant pas de compte PHPfrance

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));

ViPHP
ViPHP | 5924 Messages

28 avr. 2007, 22:58

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