Checkbox insert niet naar database (scroll naar onder)
ik zit met een klein probleempje:
ik heb een script wat gegevens uit een database haalt. Dit werkt helemaal prima, op 1 ding na: In 1 veld van de database worden dingen vanuit een <select> field geïmporteerd. Echter, ik heb een soort 'edit'-pagina. Hier kunnen de gegevens uit de database geupdate worden. Ook dit werkt prima op 1 punt na: Op de edit-pagina staat weer hetzelfde <select> field als op de invoerpagina:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<tr>
<td>Soort evemenent:
</td>
<td>
<select name='evenementtype' id='evenementtype'>
<option value='muziekevenement'>Muziekevenement</option>
<option value='sportevenement'>Sportevenement</option>
<option value='anders'>Anders</option>
</select>
</td>
</tr>
<td>Soort evemenent:
</td>
<td>
<select name='evenementtype' id='evenementtype'>
<option value='muziekevenement'>Muziekevenement</option>
<option value='sportevenement'>Sportevenement</option>
<option value='anders'>Anders</option>
</select>
</td>
</tr>
Hierin wil ik dat de waarde uit de database ook geselecteerd wordt: dus als in de database staat 'Muziekevenement', wil ik dat op de editpagina, in het veld 'evenementtype' ook 'Muziekevenement' staat. Hiervoor heb ik echter geen oplossing hoe dit zou moeten. Wellicht dat iemand hier dit wel weet.
Alvast bedankt voor het antwoord.
Grtz Pieter
Gewijzigd op 01/01/1970 01:00:00 door Pieter Joordens
Zet selected="true" in het option veld waar de value gelijk is aan die uit de database.
EDIT: Jij was me voor. Maar raar, in de referentie staat:
<option value="" selected> </option>
http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1
Toch wordt selected="selected" vaker gebruikt in de tuts... Maar selected="true" doet t vast ook
Gewijzigd op 01/01/1970 01:00:00 door Pim -
Dit wist ik, maar hoe krijg ik die bij het goede veld? Dit varieert uiteraard per item.
Code (php)
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
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
<?php
#| Set " $evenementen " array met alle mogelijke type evenementen.
$evenementen = array(
'muziekevenement' => 'Muziek evenement',
'sportevenement' => 'Sport evenement',
'anders' => 'Anders'
);
#| Lijst met alle evenementen weergeven.
echo '<select name="evenementtype" id="evenementtype">';
#| Alle opties aanmaken.
foreach($evenementen as $id => $evenement)
{
#| Controleren of " $evenement " overeenkomt met die uit de database waarde.
if($evenement == $databasewaarde)
{
/*---- INFO: Het geselecteerde evenement weergeven. ----*/
echo '<option value="'.$id.'" selected="true">'.$evenement.'</option>';
}
else
{
/*---- INFO: Alle niet geselecteerde evenementen. ----*/
echo '<option value="'.$id.'">'.$evenement.'</option>';
}
}
#| Lijst afsluiten.
echo '</select>';
?>
#| Set " $evenementen " array met alle mogelijke type evenementen.
$evenementen = array(
'muziekevenement' => 'Muziek evenement',
'sportevenement' => 'Sport evenement',
'anders' => 'Anders'
);
#| Lijst met alle evenementen weergeven.
echo '<select name="evenementtype" id="evenementtype">';
#| Alle opties aanmaken.
foreach($evenementen as $id => $evenement)
{
#| Controleren of " $evenement " overeenkomt met die uit de database waarde.
if($evenement == $databasewaarde)
{
/*---- INFO: Het geselecteerde evenement weergeven. ----*/
echo '<option value="'.$id.'" selected="true">'.$evenement.'</option>';
}
else
{
/*---- INFO: Alle niet geselecteerde evenementen. ----*/
echo '<option value="'.$id.'">'.$evenement.'</option>';
}
}
#| Lijst afsluiten.
echo '</select>';
?>
Gewijzigd op 01/01/1970 01:00:00 door - Mark -
Als je het op de value doet (meteen met een mooie array om het nog makkelijk aan te passen):
Code (php)
EDIT: Haha Mark, jezus ;)
Gewijzigd op 01/01/1970 01:00:00 door Pim -
Oke bedankt beiden! Ik ga toch voor de versie van Pim..
Ik heb het nu zo:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<tr>
<td>
Caravan nodig?
</td>
<td>
<input type='checkbox' name='caravan' id='caravan' />
</td>
</tr>
<td>
Caravan nodig?
</td>
<td>
<input type='checkbox' name='caravan' id='caravan' />
</td>
</tr>
met als query:
In de query zitten uiteraard nog andere (niet relevante) waarden, deze worden wel allemaal goed geïnsert, alleen de checkbox niet..
Ik krijg altijd 0 geinsert in mijn database. Hoe komt dit?
Je hebt geen value in je checkbox:)
Maar ook als ik hem aanvink geeft hij waarde 0 aan de database..
EDIT
Ik zal niet alles voorkauwen maar je op de goeie weg proberen te helpen
Allereerst.. Je hebt een submit button nodig om het te kunnen verzenden en het op te vangen. Het kan ook zonder doormiddel van javascript maar die stap is de ver genomen en ook als javascript uit staat kan je niks meer insert.
we maken dus eerst een tabel
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<table>
<tr>
<td>Carvan nodig?</td>
</tr>
<tr>
<td><input type="checkbox" name="checkbox" value="Ja" /></td>
</tr>
<tr>
<td><input type="submit" value="Versturen" /></td>
</tr>
</table>
<tr>
<td>Carvan nodig?</td>
</tr>
<tr>
<td><input type="checkbox" name="checkbox" value="Ja" /></td>
</tr>
<tr>
<td><input type="submit" value="Versturen" /></td>
</tr>
</table>
Je ziet dat ik hierbij een submit button heb gemaakt zodat hij een form verzend en je het via php kan opvangen
Ik zag dat jij ook geen form hebt gemaakt dus php zou hem nooit op kunnen vangen
Om de tabel zetten we dus dit
Nu kunnen we aan de slag met php
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
# zo kijken we dus of er wat gesubmit is.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
}
?>
# zo kijken we dus of er wat gesubmit is.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
}
?>
Nu wil jij kijken wat voor value er is in gevuld. Het is namelijk zo als jij hem niet aanvinkt geeft hij een notice error doe je het wel dan geeft hij de value.
Je kan simpel controleren of hij 'gezet' of te wel aangevinkt is, dat doen we zo (Met de if else structuur)
Code (php)
Nu kunnen we aan de hand van de variable $insert de gegevens in de database schrijven.
Hier bij ga ik je niet helpen maar mag je zelf uitvogelen. Daar leer je echt het meeste van. Als het niet lukt mag je natuurlijk verder gaan met vragen en zullen wij je proberen te helpen. Voor de rest is dit natuurlijk heel breed uitgelegd en de helft zal je al weten. Maar het gaat even om het principe.
Gebruik ook de volgende tutorials om je php op te krikken tot een prachtig niveau. Je zult daar geen spijt van krijgen, Ik wens je succes!
http://phptuts.nl/view/39/
http://phptuts.nl/view/41/
Gewijzigd op 01/01/1970 01:00:00 door Niels K
Groeten
Suc6 ermee:)
thanks a lot