checkbox

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Leon

Leon

02/01/2010 14:25:00
Quote Anchor link
Ik ben momenteel bezig met het maken van een 'simpel' inschrijfsysteem, nou staan daar ook een aantal checkboxen op voor tijdstippen. Nou moet je er één OF 2 OF geen kunnen aanvinken, en hij moet dat zo in de database stoppen; dat laatste lukt niet helemaal... Het geldt alleen voor donderdag, ik zal even wat van de code neerzetten:
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
<?
# Donderdag verifiëren - opties:     20:00 - 21:30 & 20:30 - 22:00
            if($rooster_donderdag == "20:00-21:30" && "20:30-22:00")
                {

                    $rooster_donderdag = "20:00 - 21:30 en 20:30-22:00";
                }

            if($rooster_donderdag == "20:00-21:30" || "20:30-22:00")
                {

                    $rooster_donderdag = $_POST['rooster_donderdag'];
                }

            else
                {
                    $rooster_donderdag = "Kan niet op donderdag.";
                }

?>

En waarschijnlijk is het niet echt nodig, maar hier komt ook de HTML:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
<input type="checkbox" name="rooster_donderdag" value="20:00-21:30" />&nbsp;20:00 - 21:30 uur<br />
<
input type="checkbox" name="rooster_donderdag" value="20:30-22:00" />&nbsp;20:30 - 22:00 uur<br />
?>
Gewijzigd op 01/01/1970 01:00:00 door Leon
 
PHP hulp

PHP hulp

16/03/2025 20:33:29
 

02/01/2010 15:11:00
Quote Anchor link
Werkt met data en tijden in de database, kan je veel meer kanten op:
http://phptuts.nl/view/1/
 
Joris van Rijn

Joris van Rijn

02/01/2010 15:16:00
Quote Anchor link
if($rooster_donderdag == "20:00-21:30" && "20:30-22:00")

dat kan volgens mij niet?
want een variable heeft een vaste variable in zich, hier zeg je:
Piet heet piet en jan.
 

02/01/2010 15:19:00
Quote Anchor link
``Joris,, schreef op 02.01.2010 15:16:
if($rooster_donderdag == "20:00-21:30" && "20:30-22:00")

dat kan volgens mij niet?
want een variable heeft een vaste variable in zich, hier zeg je:
Piet heet piet en jan.

Kan wel, klopt niet.
Er wordt gezegd dat $rooster_donderdag gelijk moet zijn aan 20:00-21:30 en dat "20:30-22:00" true moet zijn.
"20:30-22:00" is true omdat het een string is en niet naar false wordt getypecast.
Doe maar eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
var_dump((bool)"20:30-22:00");
?>

Zie ook bool en language.types.type-juggling.
Gewijzigd op 01/01/1970 01:00:00 door
 
Joris van Rijn

Joris van Rijn

02/01/2010 15:38:00
Quote Anchor link
Ja, zo kan je het zien idd. Maar het kan zegmaar niet zoals leon het nu wil gebruiken.
 

02/01/2010 15:41:00
Quote Anchor link
``Joris,, schreef op 02.01.2010 15:38:
Ja, zo kan je het zien idd. Maar het kan zegmaar niet zoals leon het nu wil gebruiken.

Dus, jij zegt het kan niet. Dat kan jij dus niet zeggen want het kan wel. Het is alleen niet de bedoeling.
En dat hoef je ook niet tegen mij te zeggen want ik verklaar die if statement duidelijker dan jij.
 
Leon

Leon

02/01/2010 17:54:00
Quote Anchor link
Nou, sorry dat ik het zeg maar hier kan ik helaas niet heel erg veel mee :( Ik doel gewoon op een concreet antwoord over wat ik fout doe en hoe ik het moet oplossen...
 
Joren de Wit

Joren de Wit

02/01/2010 18:15:00
Quote Anchor link
Quote:
20:00 - 21:30 en 20:30-22:00
Was je van plan het op die manier in de database te gaan zetten? In dat geval maak je waarschijnlijk een grote fout aangezien je daarna niets meer met die data kan.

Het lijkt mij dat je hier met begin- en eindtijden van een planning te maken hebt, in dat geval zou je dat ook zo in de database op moeten slaan. Als iemand kan op een bepaalde tijd, krijgt diegene dus een record in de database met een begin- en eindtijd. Kan diegene op meerdere tijdstippen dan worden dat meerdere records en als hij niet kan (op donderdag of wat voor dag dan ook) zijn er geen records te vinden voor die dag.

Lees deze handleiding over normaliseren eens door en zorg dat je met een goed datamodel aan de slag gaat.

Wat betreft je checkboxen vraag, je hoeft dan enkel nog de intervallen van de aangevinkte checkboxen naar de database te schrijven. Voor elke aangevinkte checkbox krijg je waarschijnlijk dus een apart record.
 
- Mark -

- Mark -

02/01/2010 18:16:00
Quote Anchor link
Het is ook niet helemaal duidelijk wat je nu wilt. Althans niet voor mij. Van je code klopt niet echt veel. Waar komt bijvoorbeeld $rooster_donderdag vandaan bij je eerste if? Is die er al of komt hij uit het niets vandaan?
 
Leon

Leon

02/01/2010 18:30:00
Quote Anchor link
Nou, ik dacht dat het allemaal niet zo moeilijk zou zijn maar het is toch moeilijker dan ik dacht :S
Het enige wat ik zoek is een manier om te laten controleren of er 2 zijn, dat mag ook met andere woorden. Het moet ook met deze woorden weergegeven worden op een andere pagina; oftewel samengevat: Ik zoek een aantal soorten IF's, 1 voor 1 van de 2, 1 voor geen van de 2 en 1 voor beide...

En Mark, ik maak $rooster_donderdag daar juist aan eigenlijk...

Edit:
Ik heb inmiddels het antwoord al, met dan aan Bas (dank) het was:
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
<?
# Donderdag verifiëren - opties:     20:00 - 21:30 & 20:30 - 22:00
            if($rooster_donderdag == "20:00-21:30" && $rooster_donderdag == "20:30-22:00")
                {

                    $rooster_donderdag = "20:00 - 21:30 en 20:30-22:00";
                }

            if($rooster_donderdag == "20:00-21:30" || $rooster_donderdag == "20:30-22:00")  # <----- 2x $rooster_donderdag == enz
                {
                    $rooster_donderdag = $_POST['rooster_donderdag'];
                }

            else
                {
                    $rooster_donderdag = "Kan niet op donderdag.";
                }

?>

maar
[/EDIT]
Gewijzigd op 01/01/1970 01:00:00 door Leon
 



Overzicht Reageren

 
 

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.