Onvoldoende output in select.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andre Janssen

Andre Janssen

28/10/2013 09:45:31
Quote Anchor link
Hallo,
In onderstaand stukje php-script is het de bedoeling dat er een keuzelijst ontstaat waarin een antal tijdsaanduidingen staan met of zonder de tekst 'BEZET' ernaast.
$sthh en $stmm: uiterste begintijd (uren:minuten) van de lijst, bijv. 8:30
$ethh en $etmm: uiterste eindtijd (uren:minuten) van de lijst, bijv. 23:00
(Deze 4 variabelen hebben al deze waarde voorafgaand aan de select).
$RSVrow: bevat een record uit een tabel, met daarin oa $rsv_vanaf en $rsv_tot zoals in de database opgeslagen,ook weer als uren:minuten.

Wat doe ik verkeerd, want het bovenstaande gebeurt niet!?
Bij voorbaat dank voor de hulp.

==========
.
.
// op dit moment is $sthh=8, $sthh=30, $ethh=23, $etmm=0.

<select name="Start">

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
<?php
 
while (($sthh < $ethh) OR (($sthh == $ethh) AND ($stmm=="00"))) {
 
    while ( $RSVrow = mysql_fetch_array($RSVresult) ) {
 
        $sthhmm = $sthh . ":" . $stmm; $sthhmmNUM=$sthh.$stmm;
        $rsv_vanaf=$RSVrow['rsv_vanaf']; $pieces=explode(":",$rsv_vanaf); $rsv_vanafNUM=$pieces[0].$pieces[1];
        $rsv_tot=$RSVrow['rsv_tot']; $pieces=explode(":",$rsv_tot); $rsv_totNUM=$pieces[0].$pieces[1];
 
        //Skip de al gereserveerde tijdranges.
        if ( ( ($sthhmmNUM>=$rsv_vanafNUM) AND ($sthhmmNUM<=$rsv_totNUM) ) )
        {

        while  ( ( ($sthhmmNUM>=$rsv_vanafNUM) AND ($sthhmmNUM<=$rsv_totNUM) ) ) {
        ?>

<OPTION>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $sthh . ":" . $stmm . " BEZET"; ?>
</OPTION>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php }    ?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } else { ?>


<OPTION>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $sthh . ":" . $stmm; ?>
</OPTION>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php }
        }
            
 
        $stmm = $stmm + 30;
        if ($stmm==60) {
        $sthh=$sthh+1;
        $stmm="00";
        }
 
        }

 
        ?>


</select>
 
PHP hulp

PHP hulp

04/05/2024 14:47:01
 
Erwin H

Erwin H

28/10/2013 10:29:23
Quote Anchor link
Andre Janssen op 28/10/2013 09:45:31:
Wat doe ik verkeerd, want het bovenstaande gebeurt niet!?

Dat je een tijd opslaat als een CHAR of VARCHAR veld en niet als een TIME veld....?
 
Andre Janssen

Andre Janssen

28/10/2013 12:32:42
Quote Anchor link
Hallo Erwin,

De tijden zijn idd als VARCHAR in de database opgeslagen. Ik heb ook al geprobeerd ze als TIME-velden op te slaan, maar dat lost het probleem helaas niet op. Op de een of andere manier komt er iets wat er niet hoort tussen de <select></select> te staan. Echo's tussen de while's krijg ik ook niet te zien!?
Misschien wil je het stukje code zelf eens testen?
Je kunt vooraf gewoon de volgende variabelen zetten: $sthh=8, $sthh=30, $ethh=23, $etmm=0
En een tabelletje maken met twee velden erin: rsv_vanaf en rsv_tot
$rsv_vanaf bijv. 10:00 en $rsv_tot bijv. 11:30
In de keuzelijst van 8:30 tot 23:00 is dan het gedeelte van 10:00 tot 11:30 "BEZET".
Dus:
8:30
9:00
9:30
10:00 BEZET
10:30 BEZET
11:00 BEZET
11:30
12:00
enz. tot 23:00

mvg
 
Pipo Clown

Pipo Clown

28/10/2013 13:53:40
Quote Anchor link
Andre Janssen op 28/10/2013 12:32:42:

Je kunt vooraf gewoon de volgende variabelen zetten: $sthh=8, $sthh=30, $ethh=23, $etmm=0


Volgens mij zie ik 3x (dus wel consequent ;) ) dezelfde fout voorbij komen.

Probeer het eens met $stmm = 30 i.p.v. met $sthh = 30 ;)
 
Andre Janssen

Andre Janssen

28/10/2013 16:06:18
Quote Anchor link
Hallo Pipo,
Dat is idd een tikfoutje van mij, helemaal gelijk. Het moet natuurlijk $stmm=30 zijn (startminuten).
Maar kun je me vertellen welke fout je 3x ziet? Wellicht is dat de oplossing?!
mvg
 



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.