Salut a tous,

Voilà, j'ai un formulaire de modification.
Je recupere donc les valeurs dans une base de donnée et je veux que les elements de mon formulaire prenne les valeurs de ma base de donnée par default.

Pour tous ce qui est champ texte, liste deroulante pas de probleme, j'utilise la setDefaults.
Mais j'ai aussi dans mon formulaire des chechbox.
Apparement on peux utiliser aussi setDefaults mais je n'y arrive pas.
Je n'arrive pas non plus a utiliser la fonction setChecked.

Quelqu'un peut il m'aider?

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
$form =& new w3_Form('test','post');
$renderer =& new HTML_QuickForm_Renderer_w3v8();
$s =& $form->createElement('select','category','Category: ');
 
$request = "select cat from qzz_categories order by cat";
$envoi=mysql_query($request);
 
$opts = array();	
 
while ($r = mysql_fetch_array($envoi)){
	$opts[$r['cat']] = $r['cat'];
}
 
$s->loadArray($opts,'cat');
$form->addElement($s);
 
$s =& $form->createElement('select','level','Level: ');
$opts = array('Beginer' => 'Beginer', 'Advanced' => 'Advanced', 'Mastered' => 'Mastered');
$s->loadArray($opts,'lev');
$form->addElement($s);
 
$form->addElement('textarea', 'question', 'Question:',
	array('cols' => 40, 'rows' => 5));
$form->addElement('textarea', 'choice1', 'Answer 1:', 
	array('cols' => 40, 'rows' => 5));
$form->addElement('textarea', 'choice2', 'Answer 2:', 
        array('cols' => 40, 'rows' => 5));
$form->addElement('textarea', 'choice3', 'Answer 3:', 
        array('cols' => 40, 'rows' => 5));
$answer[] =& HTML_QuickForm::createElement(
	'checkbox', 'ans1', null, '1');
$answer[] =& HTML_QuickForm::createElement(
        'checkbox', 'ans2', null, '2');
$answer[] =& HTML_QuickForm::createElement(
        'checkbox', 'ans3', null, '3');
$form->addGroup($answer, 'answer', 'correct answer(s):', '&nbsp;');
 
$submit[] =& HTML_QuickForm::createElement('submit', 'save', 'Save');
$form->addGroup($submit, 'submit');
 
$form->addRule('question','this is a required field ','required');
$form->addRule('choice1','this is a required field ','required');
$form->addRule('choice2','this is a required field ','required');
$form->addRule('choice3','this is a required field ','required');
$form->addRule('answer','this is a required field ','required');
 
while ($r = mysql_fetch_array($rep)){
	$form->setDefaults(array('question' => $r['question']));
	$form->setDefaults(array('choice1' => $r['a1']));
	$form->setDefaults(array('choice2' => $r['a2']));
	$form->setDefaults(array('choice3' => $r['a3']));
	$form->setDefaults(array('category' => $r['cat']));
	$form->setDefaults(array('level' => $r['level']));
 
	//la je bloque pour les checkbox
	$form->setDefaults(array('ans1' => ""));
	$form->setDefaults(array('ans2' => ""));
	$form->setDefaults(array('ans3' => ""));
 
}
?>