stclem Skrevet 15. april 2009 Del Skrevet 15. april 2009 Prøver å lage et valg for at man skal kunne få frem bare den infoen fra tabellene som er fra et bestemt år. Med å bruke WHERE YEAR(t1.dato) = 2008 får jeg alle som er postet i 2008. Men siden man skal kunne velge år selv, og et av valgene skal være å se alle årene, har jeg lagt inn $aaret. Skal etterhvert få laget en dropdown meny med årstall i, men det kommer senere. Er det noen bedre måte å gjøre dette på? Lar jeg $aaret stå tomt viser den alle, ellers legger jeg inn = 2008 osv for hvert år. $aaret = "= 2008"; $result = mysql_query("SELECT t1.*, t2.valg1, t3.valg2, t4.valg1 as valg3 FROM tabell1 as t1, tabell2 as t2, tabell3 as t3, tabell2 as t4 WHERE YEAR(t1.dato) $aaret and t1.valgt1 = t2.id and t1.valgt2 = t3.id and t1.valgt3 = t4.id ORDER BY t1.id DESC" ); while ($myrow = mysql_fetch_array($result)) { printf("%s %s %s %s %s<br>\n", $myrow["id"], $myrow["dato"], $myrow["valg1"], $myrow["valg2"], $myrow["valg3"]); } Lenke til kommentar
terjeelde Skrevet 15. april 2009 Del Skrevet 15. april 2009 $aaret = "= 2008"; $result = mysql_query("SELECT t1.*, t2.valg1, t3.valg2, t4.valg1 as valg3 FROM tabell1 as t1, tabell2 as t2, tabell3 as t3, tabell2 as t4 WHERE YEAR(t1.dato) $aaret and t1.valgt1 = t2.id and t1.valgt2 = t3.id and t1.valgt3 = t4.id ORDER BY t1.id DESC" ); Så du tar $aaret fra en dropdown, som submittes fra en website? Hva da hvis jeg sender dette som $aarat?: 2008; DROP TABLE tabell1; Lenke til kommentar
stclem Skrevet 15. april 2009 Forfatter Del Skrevet 15. april 2009 Har ikke laget dropdown enda. Ja når det er gjort skal det være en dropdown på websiden som lar meg velge årstall. Denne inneholder også alternativet "alle år". Dette submites videre til $aaret. Det jeg lurer på er om den koden jeg postet er den beste måten å gjøre det på. Altså ikke dropdown greia, men selve hent fra database delen. Lenke til kommentar
blackbrrd Skrevet 15. april 2009 Del Skrevet 15. april 2009 Bygg opp SQL-en med en IF-setning. Bruk preparedStatements, så slipper du muligheten for SQL-injection. Lenke til kommentar
kaffenils Skrevet 16. april 2009 Del Skrevet 16. april 2009 Så du tar $aaret fra en dropdown, som submittes fra en website? Hva da hvis jeg sender dette som $aarat?: 2008; DROP TABLE tabell1; Little Bobby Tables Men nå tror jeg ikke MySQL/PHP støtter eksekvering av flere statements ved semikolonseparering. Lenke til kommentar
stclem Skrevet 16. april 2009 Forfatter Del Skrevet 16. april 2009 Skjønner ikke en dritt her. Prøvd å lese litt rund om kring men finner ikke ut noe. Har etter hjelp fått oppdatert selve koden slik, men trenger fortsatt hjelp til å velge å se all info fra f.eks. 2006, eller å kunne se all infor fra et bestemt sted. $result = mysql_query("SELECT t1.*, t2.valg1, t3.valg2, t4.valg1 as valg3, t5.sted FROM tabell1 as t1 INNER JOIN tabell2 as t2 ON t1.valgt1 = t2.id INNER JOIN tabell3 as t3 ON t1.valgt2 = t3.id INNER JOIN tabell2 as t4 ON t1.valgt3 = t4.id INNER JOIN sted as t5 ON t1.sted = t5.id ORDER BY t1.id DESC" ); while ($myrow = mysql_fetch_array($result)) { printf("%s %s %s %s %s %s<br>\n", $myrow["id"], $myrow["dato"], $myrow["valg1"], $myrow["valg2"], $myrow["valg3"], $myrow["sted"]); } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå