13. oktober 2009 - 23:06
Der er
4 kommentarer og
1 løsning
Hent korrekt variabel afhængigt af input
Hejsa.
Jeg har lavet et udtræk fra MySQL, hvor der er 49 felter med forskellige priser:
Felterne hedder således:
mandag1, mandag2, mandag3, mandag4, mandag5, mandag6, mandag7,
tirsdag1, tirsdag2, tirsdag3, tirsdag4, tirsdag5, tirsdag6, tirsdag7,
onsdag1, onsdag2, osv,
Jeg har så 2 inputfelter:
$_POST['dag'] = "mandag"; //Kan være én af ugens 7 dage
$_POST['antal'] = 3; //Kan være et tal mellem 1 og 7.
Er der en smart måde, hvor jeg kan hente den korrekte felt-værdi afhængig af det indtastede.
Fx skal ovennævnte 2 inputdata, hente værdien i $row['mandag3']
Jeg kan selvfølgelig lave 49 stk. if-sætninger, men kan det ikke gøres mere enkelt.
13. oktober 2009 - 23:31
#2
Lyder som en lidt træls database-struktur ... hva' med et kursus i databaser?
Men du kan godt.
$a=$_POST['dag'];
$b=$_POST['antal'];
$sql="SELECT $a$b FROM ..... WHERE ....";
//...osv...
print $row["$a$b"];
Læg det nu ikke på nettet før du ved alt om SQL-injection.
13. oktober 2009 - 23:50
#3
Ja - det er nok ikke den bedste database-struktur, men jeg har da heldigvis styr på SQL-injection (tror jeg nok..) Alle mine inputfelter kommer igennem en funktion, der sikrer mod bl.a. sql-injections.
Eriks forslag løste min udfording, omend Gudiik's minder om den.
Sender Gudiik er svar, så jeg kan komme af med pointene.
14. oktober 2009 - 07:46
#5
Hvis I begge samlede point, skulle I begge svare. Men Erik samler ikke, hvorfor du får pointene.