Checkboxen en Database

Door - SanThe - , 14 jaar geleden, 10.347x bekeken

Met checkboxen meerdere database records bewerken.

Gesponsorde koppelingen

Inhoudsopgave

  1. Mini Uitleg.

 

Er zijn 33 reacties op 'Checkboxen en database'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Steen
steen
14 jaar geleden
 
0 +1 -1 -1
Kom op, zet er teminste een werkend voorbeeldje bij,
- SanThe -
- SanThe -
14 jaar geleden
 
1 +1 -0 -1
Die input regel en de foreach regel zijn de enige waar het echt om draait. Dat is voor de meeste beginners het probleem.
W W
W W
14 jaar geleden
 
0 +1 -1 -1
Er staat toch een voorbeeld?


14 jaar geleden
 
Je gooit er echt wel met de pet naar.
Dit is echt onzin.
Het klopt niet eens.
Quote:
Na het posten
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.
Toby hinloopen
toby hinloopen
14 jaar geleden
 
0 +1 -1 -1
"expecting T_PAAMAYIM_NEKUDOTAYIM"

eeuh what the f*** is een "Paamayim nekudotayim" xD

wel een erg nuttige tutorial [/sarcasm]


14 jaar geleden
 
0 +1 -1 -1
Ken je klassiekers: keyword.paamayim-nekudotayim, zoals ik dus ook al aangaf
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
::

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.
- SanThe -
- SanThe -
14 jaar geleden
 
1 +1 -0 -1
Wauw, ik was het $ teken vergeten. (Aangepast)
@Karl: Ik ben blij dat ik je een leuke avond heb bezorgd.


14 jaar geleden
 
Quote:
SanThe schreef op 31.10.2009 20:55
Wauw, ik was het $ teken vergeten. (Aangepast)
@Karl: Ik ben blij dat ik je een leuke avond heb bezorgd.

Kan je meer tekst geven?
Dan kan ik nog verder gaan.
Of zal ik oude koeien uit de sloot halen?
GaMer B
GaMer B
14 jaar geleden
 
0 +1 -1 -1
Een 'mini uitleg' is nogal een understatement... Dit is nog niet eens een uitleg.
W W
W W
14 jaar geleden
 
lol karl. Slechte sex gehad?
- Ariën -
- Ariën -
14 jaar geleden
 
0 +1 -0 -1
OMG, wat een tutorial. Er wordt echt niks vermeld over array's, key's en values. En dat een foreach een loopje is. De accolades ontbreken zomaar.

Leuk artikel, dan wel voor de prullenbak.
Eddy E
Eddy E
14 jaar geleden
 
1 +1 -0 -1
Ik vind hem wel duidelijk.
Geen geouwehoer wat niet ter zake is.
Iedereen kan zo'n formulier maken (en zo niet: google!)
Iedereen kan die foreach-lus kopieren (en zo niet: google!)
En iedereen kan een update/delete-query maken (en zo niet: google!).

Prima uitlegje!
Henkie
Henkie
14 jaar geleden
 
1 +1 -0 -1
Wat vind je van mijn versie van de tutorial?
Quote:
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
CREATE TABLE nieuwsbrieven (
    id INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    nieuwsbrief VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
INSERT INTO nieuwsbrieven ( nieuwsbrief )
VALUES
    ( 'Aanbiedingen' ) ,
    ( 'Site updates' ) ,
    ( 'Nieuwe producten' );
Als je vervolgens een formulier hebt, wil je hierin deze checkboxen hebben:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
        }
    }

?>
Om dit uit te lezen, gebruik je dan de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 hoop dat het zo duidelijker is.
Als je hem vergelijkt met de jouwe?
SanThe:
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.
Ik hoop dat je het niet erg vind dat ik me vijf minuten hiervoor heb uitgesloofd.


14 jaar geleden
 
Quote:
Pepijn schreef op 01.11.2009 00:51
lol karl. Slechte sex gehad?

Nee, juist prima seks.
Heb jij soms slechte seks? Of geen seks? Wil je d'r over praten?
Bas IJzelendoorn
Bas IJzelendoorn
14 jaar geleden
 
1 +1 -0 -1
@pepijn en Karl

Nou, nou zullen we dit soort onderwerpen vooral buiten het forum houden !!


14 jaar geleden
 
1 +1 -0 -1
@Nimtex; nee juist ?n het forum (Lees: Koffiehoek) ;-)


14 jaar geleden
 
0 +1 -0 -1
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


14 jaar geleden
 
0 +1 -0 -1
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...
Remie
remie
14 jaar geleden
 
0 +1 -1 -1
@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.
- SanThe -
- SanThe -
14 jaar geleden
 
1 +1 -0 -1
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.
Jaron T
Jaron T
14 jaar geleden
 
0 +1 -1 -1
Dit vind ik veruit de slechtste tutorial aller tijden.
Robert Deiman
Robert Deiman
14 jaar geleden
 
1 +1 -0 -1
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.
Toine vd P
Toine vd P
14 jaar geleden
 
0 +1 -1 -1
Erg mager en minimaal
Computer
Computer
14 jaar geleden
 
1 +1 -0 -1
Ik heb hier tenminste van geleerd dat je names in een form samen als een array kunt gebruiken. Dus beter iets dan niets.
Nibulez
Nibulez
14 jaar geleden
 
0 +1 -1 -1
Wat leer je hiervan? dat je bij een checkbox iets uit een database kan halen? als dit niet zo is is dat best logisch dat ik het niet begrijp met 6 regeltjes tekst waar niks wordt gezegd.
Tim H
Tim H
14 jaar geleden
 
1 +1 -0 -1
@Henkie, Bedankt voor je uitgebreidere uitleg. Ik heb er veel aan gehad.
Frits Schapendonk
Frits Schapendonk
14 jaar geleden
 
1 +1 -0 -1
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.
Niels Kieviet
Niels Kieviet
14 jaar geleden
 
1 +1 -0 -1
@frits..

Laten we niet doorzieken over het gene wat 5 maanden geleden is gebeurd..
Frits Schapendonk
Frits Schapendonk
13 jaar geleden
 
1 +1 -0 -1
@Niels Kieviet

Je hebt helemaal gelijk niels. Maar waarom worden topics niet gesloten als ze verouderd zijn.
Jasper DS
Jasper DS
13 jaar geleden
 
0 +1 -0 -1
Als er dan hulp nodig is kan er nog altijd gereageerd worden ;)
Niels K
Niels K
13 jaar geleden
 
0 +1 -0 -1
Edit.. Foutje
Dennis Smink
Dennis Smink
13 jaar geleden
 
0 +1 -1 -1
Meer een schreeuw om aandacht dit lijkt me. Tut slaat nergens op, word niets uitgelegd. 'Pleur er maar neer, zie maar wat je ermee doet'.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jasper DS
Jasper DS
13 jaar geleden
 
0 +1 -0 -1
@Dennis, santhe heeft de belangrijkste dingen om dit te kunnen doen toch vermeld? Ik denk dat je hier toch wel wat mee kan. Ook al is er wat minder uitleg.

Maar dit is al één jaar oud, dus het is misschien beter om het te laten bezinken. ;)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Mini Uitleg.

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.