31. marts 2003 - 17:01Der er
22 kommentarer og 1 løsning
drop down menu
Jeg er lidt newbie på mysql og php så jeg har brug for lidt hjælp Jeg har en database i mysql indeholde diverse person oplysninger (fornavn, efternavn, adresse, telefon mm..) Jeg har lavet en side hvor man via en drop down menu gerne skulle kunne få vist informationerne for en given bruger ud i en tabel på samme side Menu punkterne i drop down menuen er således person navnene taget ud fra databasen
Det virker ikke helt Problemet ligger i værdien af det valgte navn i menuen - dvs i linjen: <option value=\"$row[fornavn]\"> Samt når der submittes i forespørgslen hvor jeg skal bruge oplysningerne - dvs i linjen: mysql_query("select * from phpSP_users where fornavn = '$fornavn'"); Den finder ikke noget navn med værdien $fornavn
Er der nogen som kan hjælpe mig med hvordan min value og query skal se ud ?
Det hjalp heller ikke... Jeg får fint nok en boks frem på skærmen med samtlige navne og en knap til at vælge med Og hvis jeg vælger fx: $y = mysql_query("SELECT * FROM tabel WHERE login = 'palle'"); Så får jeg fint en tabel ud med "palles" oplysninger Så der går noget galt ide den submittes tror jeg
> foresten er det fint nok at bruge $login den er valgt unik
det regnede jeg osse med ... hvis du ser efter er det postndk der har skrevet den kommentar ...
prøv at erstatte linien : $y = mysql_query("SELECT * FROM tabel WHERE `login`='".addslashes($_POST['login'])."'"); med noget a la : $query = "SELECT * FROM tabel WHERE `login`='".addslashes($_POST['login'])."'"; echo $query."<br>\n"; $y = mysql_query("$query);
ahh jeg får beskeden: Unknown column 'login' in 'where clause' Kom lige i tanke om at værdien $login i min mysql hedder "user" så jeg rettede linjen $query = "SELECT * FROM tabel WHERE `login`='".addslashes($_POST['login'])."'"; til $query = "SELECT * FROM tabel WHERE `user`='".addslashes($_POST['login'])."'";
Så kom der ingen fejl men stadig en tom tabel frem..
$query = "SELECT * FROM tabel WHERE `user`='".addslashes($_POST['login'])."'"; $y = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($y) or die(mysql_error()); var_dump($row)
swaxi >> tak for hjælpen Selvom det var en "padde"-fejl fra min side så havde det nok ikke virket uden de ekstra tiltag du gav mig Jeg husker i hvert fald lige at bruge "die(mysql_error());" noget mere
Kom lige til at tænke på en ting som du måske ved Kan man "auto"-submitte formen? Jeg mener.. så bare det man vælger navnet i menuen så kommer tabellen uden at man klikker på knappen ? Ville være fikst hvis man kunne det
> Jeg husker i hvert fald lige at bruge "die(mysql_error());" noget mere brug den konsekvent, så risikerer du ikke mærkeligheder. og husk osse at bruge addslashes() når du bruger brugerinput til at smide i dine queries ...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.