[php] listbox vullen met mysql gegevens

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
ik ben bezig met een website, iets wil alleen maar niet lukken ! ik heb in een mysql database gegevens zitten met beschikbaarheid van een bepaalde werknemer, nu wil ik deze 'beschikbaarheid' in een listbox laden, vanuit de database dus, ik wilde hiervoor deze code gebruiken:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php       
     PRINT ("<select name=super");
    $sql->Query("Select  datum, vanaf, tot  from beschikbaar where datum  = '22-02-04' " );
    for ($i = 0; $i < $sql->rows; $i++) {
        $sql->Fetch($i);
        $bdatum = $sql->data[0];
        $bvan = $sql->data[1];
        $btot = $sql->data[2];
     echo("<option value="$datum">$datum</option>\n"); 
    }
    echo("</select>\n"); ?>


het probleem is dat ie deze parse error geeft:

code:
1
Parse error: parse error, unexpected T_VARIABLE


als je dan naar de regel gaat kom je op deze regel uit

PHP:
1
echo("<option value="$datum">$datum</option>\n");


hij heeft dus moeite met de " " om $datum heen ! hoe zou ik dit anders kunnen oplossen ?

Specs


Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Dat is inderdaad een probleem omdat als je het zo laat de compiler niet weet dat het niet het einde van de string is. Vandaar dat er een truuckje is, genaamd 'escaping'. Door er een slash voor te zetten (zodat je \" krijgt) ziet de compiler dat de aanhalingstekens niet het einde van de string aangeven, maar onderdeel van de string zijn. Dan heb je natuurlijk het probleem dat de compiler nu niet weet wat hij moet doen als hij een enkele slash tegenkomt. Daarvoor is de oplossing dat je er twee neerzet.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • megamuch
  • Registratie: Februari 2001
  • Laatst online: 08-12-2024

megamuch

Tring Tring!

en deze mist een '>'(afsluitende haak)
PHP:
1
PRINT ("<select name=super");


dit is beter

PHP:
1
PRINT ("<select name=\"super\">");

[ Voor 41% gewijzigd door megamuch op 21-02-2004 22:32 ]

Verstand van Voip? Ik heb een leuke baan voor je!


Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
Infinitive schreef op 21 februari 2004 @ 22:26:
Dat is inderdaad een probleem omdat als je het zo laat de compiler niet weet dat het niet het einde van de string is. Vandaar dat er een truuckje is, genaamd 'escaping'. Door er een slash voor te zetten (zodat je \" krijgt) ziet de compiler dat de aanhalingstekens niet het einde van de string aangeven, maar onderdeel van de string zijn. Dan heb je natuurlijk het probleem dat de compiler nu niet weet wat hij moet doen als hij een enkele slash tegenkomt. Daarvoor is de oplossing dat je er twee neerzet.
hij blijft emmeren :( zou jij hem ze is willen plaatsen waar jij denkt dat de \ moet ?

Specs


Acties:
  • 0 Henk 'm!

  • 418O2
  • Registratie: November 2001
  • Laatst online: 14:41
Longlegg schreef op 21 februari 2004 @ 22:23:
ik ben bezig met een website, iets wil alleen maar niet lukken ! ik heb in een mysql database gegevens zitten met beschikbaarheid van een bepaalde werknemer, nu wil ik deze 'beschikbaarheid' in een listbox laden, vanuit de database dus, ik wilde hiervoor deze code gebruiken:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php       
     PRINT ("<select name=super");
    $sql->Query("Select  datum, vanaf, tot  from beschikbaar where datum  = '22-02-04' " );
    for ($i = 0; $i < $sql->rows; $i++) {
        $sql->Fetch($i);
        $bdatum = $sql->data[0];
        $bvan = $sql->data[1];
        $btot = $sql->data[2];
     echo("<option value="$datum">$datum</option>\n"); 
    }
    echo("</select>\n"); ?>


het probleem is dat ie deze parse error geeft:

code:
1
Parse error: parse error, unexpected T_VARIABLE


als je dan naar de regel gaat kom je op deze regel uit

PHP:
1
echo("<option value="$datum">$datum</option>\n");


hij heeft dus moeite met de " " om $datum heen ! hoe zou ik dit anders kunnen oplossen ?
PHP:
1
echo "<option value=\"$datum\">$datum";


een <option> hoef niet gesloten te worden. En bij een echo hoef je ook geen haakjes te gebruiken

PHP:
1
printf("<option value=\"%s\">%s", $datum, $datum);


lijkt me toch vrij basic ?

Acties:
  • 0 Henk 'm!

  • Longlegg
  • Registratie: Januari 2002
  • Laatst online: 13-04-2022

Longlegg

Danoontje POWERRRRR

Topicstarter
goed het lag dus nog ergens anders :'( ik had als variable $bdatum gebruikt, en verder op gebruikte ik $datum :( ! maar het werkt nu ! ik dank u allen :D

Specs


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Misschien niet aan mij om te zeggen, maar dit was wel heel erg basic...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 18-09 21:53

Tux

PHP:
1
echo "<option value=\"" . $datum . "\">" . $datum . "</option>\n";


Is nog iets netter ;)

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

ik raad trouwens ook aan een <option>-tag gewoon te sluiten, veel logischer en duidelijker IMHO (als je het al kan weglaten, nooit geprobeerd)

Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 18-09 21:53

Tux

X-Lars schreef op 22 februari 2004 @ 12:45:
ik raad trouwens ook aan een <option>-tag gewoon te sluiten, veel logischer en duidelijker IMHO (als je het al kan weglaten, nooit geprobeerd)
Je kan het weglaten, alleen is het niet (X)HTML valid.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Je kan het weglaten, alleen is het niet (X)HTML valid.
Hm. Gek.
<!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
[snip]

Start tag: required, End tag: optional
:Y) Ligt er dus mar net aan welke DTD je gebruikt.


Grijze Vos:
Misschien niet aan mij om te zeggen, maar dit was wel heel erg basic...
Wat mij betreft laat je dat de volgende keer inderdaad gewoon achterwege ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

offtopic:
En dan is het volgens mij weer een goede gewoonte om enkele quotes te gebruiken voor strings, en zéker voor HTML, als je gebruik maakt van printf.
Dan hoef je niet zoveel te escapen, en zo worden variabelen in de string ook niet meer omgezet, want daar heb je printf al voor.
Pagina: 1