Op een pagina moeten allemaal vragen komen te staan in een bepaalde volgorde. Deze vragen staan in een database en zijn genummerd 1, 2, 3, 4, enz. In deze volgorde moeten ze ook getoond worden op een pagina. Simpel.
Nu moet ook de volgorde van deze vragen aangepast worden in een CMS. Ik ben er zo mee bezig:
Via javascript kan je de volgorde van de options veranderen:
Maar hoe krijg ik de nieuwe volgorde in de database? (ik weet hoe ik query's moet uitvoeren) Ik kan toch maar 1 waarde van die select opvragen, diegene die is geselecteerd, toch?
Nu moet ook de volgorde van deze vragen aangepast worden in een CMS. Ik ben er zo mee bezig:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <? $rt = mysql_query("SELECT * FROM tbl_meer_vraag ORDER by mvanum ASC") or die ("error: ".mysql_error()); $total = mysql_num_rows($rt); ?> <select name="vindex" size="<? echo $total; ?>" style="width:600px;"> <? while ($row = mysql_fetch_array($rt)) { $mvaid = $row["mvaid"]; $mvavrg = $row["mvavrg"]; $mvanum = $row["mvanum"]; $vl = strlen($mvavrg); if ($vl > 100) { $mvaant = substr($mvaant, 0, 100); $mvaant .= "..."; } ?> <option value="<? echo $mvaid; ?>"><? echo $mvavrg; ?></option> <? } ?> </select> |
Via javascript kan je de volgorde van de options veranderen:
code:
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
| function moveup(dbox) {
for (i = 0; i < (dbox.options.length); i++) {
if (dbox.options[i].selected && dbox.options[i] != "" && dbox.options[i] != dbox.options[0]) {
var tmpval = dbox.options[i].value;
var tmpval2 = dbox.options[i].text;
dbox.options[i].value = dbox.options[i - 1].value;
dbox.options[i].text = dbox.options[i - 1].text
dbox.options[i-1].value = tmpval;
dbox.options[i-1].text = tmpval2;
for(j=0; j < (dbox.length); j++) {
dbox.options[j].selected=false;
}
dbox.options[i-1].selected=true;
}
}
dbox.focus();
}
function movedown(dbox) {
for (i = 0; i < (dbox.options.length); i++) {
if (dbox.options[i].selected && dbox.options[i] != "" && dbox.options[i+1] != dbox.options[dbox.options.length]) {
var tmpval = dbox.options[i].value;
var tmpval2 = dbox.options[i].text;
dbox.options[i].value = dbox.options[i + 1].value;
dbox.options[i].text = dbox.options[i + 1].text
dbox.options[i+1].value = tmpval;
dbox.options[i+1].text = tmpval2;
for(j=0; j < (dbox.length); j++) {
dbox.options[j].selected=false;
}
dbox.options[i+1].selected=true;
break;
}
}
dbox.focus();
} |
Maar hoe krijg ik de nieuwe volgorde in de database? (ik weet hoe ik query's moet uitvoeren) Ik kan toch maar 1 waarde van die select opvragen, diegene die is geselecteerd, toch?
[ Voor 53% gewijzigd door Verwijderd op 25-10-2006 18:28 ]