login  Naam:   Wachtwoord: 
Registreer je!
 Forum

vanuit dropdown naar WHERE variabele

Offline chemie - 25/01/2010 20:19 (laatste wijziging 25/01/2010 20:20)
Avatar van chemieNieuw lid hallo allemaal,

ik ben dan al wel een tijdje bezig met php maar toch ben ik nog een beginneling in dit deel van websites maken.

Enige dingen lukken wel en andere kom ik eenvoudig niet uit. Achteraf meestal van: wat stom dat ik er niet zelf opgekomen ben.

Hier weer zo'n voorbeeld.
Op een website wil ik graag een programma-overzicht uit een databank halen.

Dmv. een dropdown kan een bezoeker de dag selecteren. De dag moet vervolgens de WHERE-variable zijn in mySQL.

Echter dit gaat telkens fout. heb al verschillende mogelijkheden geprobeerd waaronder na het = teken bv. "'.$DayResult.'"'; te zetten.

De SQl Select bevel word doorgevoerd als er een waarde staat zoals in het bijgevoegde script. Waar nu WHERE dayselection=1 staat moet eigenlijk dus de variable staan die door de gebruiker gekozen is in de dropdown.

Vergeet ik wat of doe ik het gewoon niet goed?
Als iemand kan helpen gaarne. Ik vraag niet om het script te herschrijven of zo. Een uitleg van wat en waar ik in de fout ga zou al helpen.

Hierbij het script:Plaatscode: 138526

3 antwoorden

Gesponsorde links
Offline Martijn - 25/01/2010 20:24 (laatste wijziging 25/01/2010 20:26)
Avatar van Martijn Crew PHP
  1. mysql_query("SELECT kolom FROM tabel WHERE anderKolom = '".$_POST['naamVanDropDown']."' ");


even basic dus het heet escapen. Je moet nog wel even mysql_real_escape_string() doen over je $variabel, anders loop je vast op de ' , en kunnen mensen slechte code je databse in schuiven 

edit:
als je formulieren nog niet beheerst, dan heb ik hier een mooie tutorial, wel erg veel, voor kleinere dingen kun je even google gebruiken
Bedankt door: chemie
Offline chemie - 25/01/2010 22:20 (laatste wijziging 03/02/2010 11:04)
Avatar van chemie Nieuw lid bedankt zover. Ga zeker de tutorial lezen.

select heb ik verandered in de drop down naar dayselect

echo '<select name="dayselect" id="dayselect">';

heb dus nu WHERE = '".$_POST['dayselect']."' maar krijg een foutmelding indezelfde regel.

Foutmelding:
Notice: Undefined index: dayselect

Misschien is het omdat ik in de drop-down de dagen als dag weergegeven word en ik juist de ID daarvan nodig heb in de volgende afroep.

Ik ben er nog niet uit. Ook niet met escapen. heb het deel op php.net gelezen. Hoe te gebruiken ja, maar waat het echt doet, nee.

heb ik behalve het escapen, waar ik me dus tegelijkertijd in verdiep, iets anders fout?

Hopelijk komt er nog een aanwijzing waar ik de fout inga.

Update:
ook pak ik alles in een form er komt geen waarde.

kan het zijn dat niet de juiste parameter wordt doorgegeven.
De dropdown komt uit een tabel die als FK in de tabel waar we in zoeken wordt gebruikt.

Kan iemand me helpen?
Moet ik misschien noch een deel JS schrijven?
Offline Martijn - 03/02/2010 12:27
Avatar van Martijn Crew PHP dat betekent dat die POST waarde niet bestaat. Ik gok zo even dat je de query doet voordat er op de submit is gedrukt.

PHP moet een keer verversen voordat het de data kan verwerken, het is dus neit zo dat je de query kan doen, en dan de formulier plaatsen (of andersom).

Net als een reply typern, moet er eerst op 'bericht plaatsen' worden gedrukt voordat er wat gebeurd
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s