Checkboxen en Database
Met checkboxen meerdere database records bewerken.
Inhoudsopgave
29 reacties op 'Checkboxen en Database'
Je gooit er echt wel met de pet naar.
Dit is echt onzin.
Het klopt niet eens.
Als je d'r geen zin hebt, doe het dan niet. Maar als je het doet, doe het dan goed. Je doet nu alsof de value een constante is, je mist dus het dollar-teken voor id. (Zo zou, denk ik, iemand erover denken. Php denkt er zo over: 'Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM'. Die verwacht dus ::.)
En nu kan je wel gaan reageren dat dit mierenneuker is, dat boeit me geen ene reet. Als je een tutorial doet, moet je het goed uitleggen, de mensen die van tutorials leren weten niet hoe het werkt. Daarom leren er ze d'r van! Of in dit geval niks dus.
Edit: En dit staat ook veel duidelijker in de php manual: faq.html#faq.html.arrays. Jij legt bijvoorbeeld ook niet uit hoe het moet met de key, dat staat daar wel.
Dit is echt onzin.
Het klopt niet eens.
Quote:
Na het posten
foreach($_POST['checkbox'] as id)
Doe wat je wilt met het id.
foreach($_POST['checkbox'] as id)
Doe wat je wilt met het id.
Als je d'r geen zin hebt, doe het dan niet. Maar als je het doet, doe het dan goed. Je doet nu alsof de value een constante is, je mist dus het dollar-teken voor id. (Zo zou, denk ik, iemand erover denken. Php denkt er zo over: 'Parse error: syntax error, unexpected ')', expecting T_PAAMAYIM_NEKUDOTAYIM'. Die verwacht dus ::.)
En nu kan je wel gaan reageren dat dit mierenneuker is, dat boeit me geen ene reet. Als je een tutorial doet, moet je het goed uitleggen, de mensen die van tutorials leren weten niet hoe het werkt. Daarom leren er ze d'r van! Of in dit geval niks dus.
Edit: En dit staat ook veel duidelijker in de php manual: faq.html#faq.html.arrays. Jij legt bijvoorbeeld ook niet uit hoe het moet met de key, dat staat daar wel.
Ken je klassiekers: keyword.paamayim-nekudotayim, zoals ik dus ook al aangaf
dus voor als je met classes werkt en een methode wilt aanroepen zonder een instantie van die class te maken.
Je gebruikt het ook bij static en parent.
dus voor als je met classes werkt en een methode wilt aanroepen zonder een instantie van die class te maken.
Je gebruikt het ook bij static en parent.
Wat vind je van mijn versie van de tutorial?
Quote:
Als je hem vergelijkt met de jouwe?Stel je wilt van de gebruiker van je website weten in welke nieuwsbrieven ze ge?nteresseerd zijn. Je kan dan een tabel maken met de mogelijkheden:Als je vervolgens een formulier hebt, wil je hierin deze checkboxen hebben:Om dit uit te lezen, gebruik je dan de volgende code:Ik hoop dat het zo duidelijker is.
Code (php)
1
2
3
4
2
3
4
CREATE TABLE nieuwsbrieven (
id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
nieuwsbrief VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM;
id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
nieuwsbrief VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM;
Code (php)
1
2
3
4
5
2
3
4
5
INSERT INTO nieuwsbrieven ( nieuwsbrief )
VALUES
( 'Aanbiedingen' ) ,
( 'Site updates' ) ,
( 'Nieuwe producten' );
VALUES
( 'Aanbiedingen' ) ,
( 'Site updates' ) ,
( 'Nieuwe producten' );
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
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
<?php
/*
* Ik ga ervan uit dat je snapt hoe SQL werkt.
*
* We halen eerst de mogelijke nieuwsbrieven op, en de id's die erbij horen.
*/
$sSql = "
SELECT id,nieuwsbrief
FROM nieuwsbrieven
ORDER BY nieuwsbrief
";
$rRes = mysql_query ( $sSql );
/*
* We controleren of de query is geslaagd
*/
if ( !$rRes )
{
/*
* Als de query is mislukt geef je een foutmelding...
*/
}
else
{
/*
* We lopen door alle opgehaalde resultaten heen. Voor elke nieuwsbrief
* mogelijkheid laten we een checkbox zien. Ik ga er dus van uit dat je al je
* <form>-tag hebt geopend.
*/
while ( $aRij = mysql_fetch_assoc ( $rRes ) )
{
echo '<p>';
echo htmlentities ( $aRij [ 'nieuwsbrief' ] , ENT_QUOTES );
echo '<input type="checkbox" name="nieuwsbrieven[]" value="';
echo $aRij [ 'id' ];
echo '" />';
echo '</p>';
}
}
?>
/*
* Ik ga ervan uit dat je snapt hoe SQL werkt.
*
* We halen eerst de mogelijke nieuwsbrieven op, en de id's die erbij horen.
*/
$sSql = "
SELECT id,nieuwsbrief
FROM nieuwsbrieven
ORDER BY nieuwsbrief
";
$rRes = mysql_query ( $sSql );
/*
* We controleren of de query is geslaagd
*/
if ( !$rRes )
{
/*
* Als de query is mislukt geef je een foutmelding...
*/
}
else
{
/*
* We lopen door alle opgehaalde resultaten heen. Voor elke nieuwsbrief
* mogelijkheid laten we een checkbox zien. Ik ga er dus van uit dat je al je
* <form>-tag hebt geopend.
*/
while ( $aRij = mysql_fetch_assoc ( $rRes ) )
{
echo '<p>';
echo htmlentities ( $aRij [ 'nieuwsbrief' ] , ENT_QUOTES );
echo '<input type="checkbox" name="nieuwsbrieven[]" value="';
echo $aRij [ 'id' ];
echo '" />';
echo '</p>';
}
}
?>
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
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
<?php
/*
* ik ga er ook van uit dat je dit al snapt; we controleren of er gepost is.
*/
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
/*
* Als de array $_POST [ 'nieuwsbrieven' ] niet leeg is, dan gaan we verder.
*/
if ( !empty ( $_POST [ 'nieuwsbrieven' ] ) )
{
/*
* $_POST [ 'nieuwsbrieven' ] is een array met als value alle aangeklikte ids
*
* De array ziet er dus bijvoorbeeld zo uit:
* Array
* (
* [0] => 2
* [1] => 4
* )
* De keys [0] en [1] geven verder geen informatie. Het gaat om de values (2
* en 4), die wil je gebruiken. We gebruiken dus een foreach-loop op
* $_POST [ 'nieuwsbrieven' ] waarbij we telkens de value in $iNieuwsbrief
* willen.
*/
foreach ( $_POST [ 'nieuwsbrieven' ] as $iNieuwsbrief )
{
/*
* Hier kun je bijvoorbeeld het nieuwsbrief-id $iNieuwsbrief opslaan in je
* database. Alle aangeklikte id'en komen hier langs.
*/
}
}
else
{
/*
* En als die array wel leeg is kun je een melding geven, of er gewoon van
* uitgaan dat de gebruiker geen nieuwsbrieven wil.
*/
}
}
?>
/*
* ik ga er ook van uit dat je dit al snapt; we controleren of er gepost is.
*/
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
/*
* Als de array $_POST [ 'nieuwsbrieven' ] niet leeg is, dan gaan we verder.
*/
if ( !empty ( $_POST [ 'nieuwsbrieven' ] ) )
{
/*
* $_POST [ 'nieuwsbrieven' ] is een array met als value alle aangeklikte ids
*
* De array ziet er dus bijvoorbeeld zo uit:
* Array
* (
* [0] => 2
* [1] => 4
* )
* De keys [0] en [1] geven verder geen informatie. Het gaat om de values (2
* en 4), die wil je gebruiken. We gebruiken dus een foreach-loop op
* $_POST [ 'nieuwsbrieven' ] waarbij we telkens de value in $iNieuwsbrief
* willen.
*/
foreach ( $_POST [ 'nieuwsbrieven' ] as $iNieuwsbrief )
{
/*
* Hier kun je bijvoorbeeld het nieuwsbrief-id $iNieuwsbrief opslaan in je
* database. Alle aangeklikte id'en komen hier langs.
*/
}
}
else
{
/*
* En als die array wel leeg is kun je een melding geven, of er gewoon van
* uitgaan dat de gebruiker geen nieuwsbrieven wil.
*/
}
}
?>
SanThe:
Ik hoop dat je het niet erg vind dat ik me vijf minuten hiervoor heb uitgesloofd.Selecteren data uit database
Formulier vullen
<input name="checkbox[]" type="checkbox" value="id uit de database">
Na het posten
foreach($_POST['checkbox'] as $id)
Doe wat je wilt met $id, dat is dus het id uit de database.
Formulier vullen
<input name="checkbox[]" type="checkbox" value="id uit de database">
Na het posten
foreach($_POST['checkbox'] as $id)
Doe wat je wilt met $id, dat is dus het id uit de database.
Euhmmmmm wat een negativiteit allemaal weeer hier; het wordt ook nooit leuker. Effe respect enzo naar de meester en-niet-happppppen-naar-de-baassss oke
voor alle zeikers
wat santhe hier post is wel degelijk belangrijk
want dat een name als array kan worden gebruikt is niet altijd even duidelijk gedocumenteerd evenals wat de gevolgen hiervan zijn
wat ik echt wel ernstig mis ----- SanThe pas eens aan
dat je ook keys kan meegeven dan wordt het pas echt leuk namelijk
voor alle zeikers
wat santhe hier post is wel degelijk belangrijk
want dat een name als array kan worden gebruikt is niet altijd even duidelijk gedocumenteerd evenals wat de gevolgen hiervan zijn
wat ik echt wel ernstig mis ----- SanThe pas eens aan
dat je ook keys kan meegeven dan wordt het pas echt leuk namelijk
Oh voor die twee sletjes hierboven http://www.nic.nl/ace.php/c,727,43,,,,Is_de_naam_nog_vrij_.html?domein=sekshulp.nl&Submit.x=0&Submit.y=0 grijp je kans...
@Webmakerij, je kan deze kansloze bagger toch niet goed praten :|
Ik probeer altijd positief naar scripts/tuts te kijken maar wat SanThe hier doet is gewoon kansloze zooi hier neergooien, zelfs gewoon documentatie van php.net (bv foreach) hier neergooien krijgt nog meer credit van mij want dan heb je meer moeite gedaan(ctrl-c en ctrl-v van php.net lastig....).
Vind je het gek phphulp de laatste jaren achteruit is gegaan met al die kansloze tuts/scripts van 1 regel lang zonder enige uitleg/onderbouwing.
Ik probeer altijd positief naar scripts/tuts te kijken maar wat SanThe hier doet is gewoon kansloze zooi hier neergooien, zelfs gewoon documentatie van php.net (bv foreach) hier neergooien krijgt nog meer credit van mij want dan heb je meer moeite gedaan(ctrl-c en ctrl-v van php.net lastig....).
Vind je het gek phphulp de laatste jaren achteruit is gegaan met al die kansloze tuts/scripts van 1 regel lang zonder enige uitleg/onderbouwing.
Heerlijk al die opmerkingen over goed voor de prullenbak en kansloze rommel. Ik ben blij dat er ook ietwat slimmere mensen reageren die er nog wel enig nut in zien. Het gaat mij niet om alles compleet voor te kauwen, het gaat bij programmeren meestal om het principe. Hoe pak je iets aan? Dit mini-tutje komt uit dit topic en de TS kon er verder mee aan de slag. Dus wat mij betreft is het zeker zinnig voor mensen met zo'n zelfde probleem. Maar, uiteraard kunnen velen van jullie het beter. Ik zou zeggen: Doe je best en verbeter dit, breidt het uit, maak het geheel compleet en plaats het dan bij de tuts, dan haal ik deze wel weg.
SanThe.
SanThe.
Ben het eigenlijk wel met SanThe eens, een tutorial hoeft niet alles voor te kauwen, maar kan wel een handige leidraad zijn om er wat van te leren of het principe te snappen.
Echter vind ik ook wel dat dit wel een beetje heel minimaal is gedaan, maar als het voor de TS uit dat topic duidelijk is, zal het voor anderen met eenzelfde probleem ook duidelijk zijn.
Wij vergeten dat we geen beginners meer zijn, en dat we ook steeds willen (erop hameren) dat we niet voorkauwen, maar mensen proberen op een juiste spoor te zetten. Heel vaak zie je :We zijn phphulp geen php"voorkauw"
Deze tut zal best wel in een faq moeten kunnen staan, zonder aanvullingen. Het is wel duidelijk hoe het werkt, zonder het voor te kauwen.
Echter vind ik ook wel dat dit wel een beetje heel minimaal is gedaan, maar als het voor de TS uit dat topic duidelijk is, zal het voor anderen met eenzelfde probleem ook duidelijk zijn.
Wij vergeten dat we geen beginners meer zijn, en dat we ook steeds willen (erop hameren) dat we niet voorkauwen, maar mensen proberen op een juiste spoor te zetten. Heel vaak zie je :We zijn phphulp geen php"voorkauw"
Deze tut zal best wel in een faq moeten kunnen staan, zonder aanvullingen. Het is wel duidelijk hoe het werkt, zonder het voor te kauwen.
Tutorial is niet uitgebreid genoeg....Ik mis ook het een en ander
Maar het ergste vindt ik de sfeer hier op het forum. Het hoort hier gezellig te zijn. Werken met php is leuk en hou het alsjeblieft ook zo...
@SanThe Nvt: laat je niet gek maken door mensen die stuk voor stuk hun mening hebben over je tutorial. Haal eruit wat jij kunt gebruiken. Zorg er wel voor dat je tutorial zo gedetailleerd mogelijk is. Hetgeen je nu hebt neergezet is misschien goed bedoeld maar er zullen weinig mensen zijn die hier daadwerkelijk iets mee kunnen.
Maar het ergste vindt ik de sfeer hier op het forum. Het hoort hier gezellig te zijn. Werken met php is leuk en hou het alsjeblieft ook zo...
@SanThe Nvt: laat je niet gek maken door mensen die stuk voor stuk hun mening hebben over je tutorial. Haal eruit wat jij kunt gebruiken. Zorg er wel voor dat je tutorial zo gedetailleerd mogelijk is. Hetgeen je nu hebt neergezet is misschien goed bedoeld maar er zullen weinig mensen zijn die hier daadwerkelijk iets mee kunnen.
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
SanThe Nvt- 9 maanden geleden
- 939 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP tutorials opties
- Data verwerking
- Nieuwste PHP tutorials
- PHP tutorial toevoegen

PHP hulp
0 seconden vanaf nu