Avatar billede prop46 Nybegynder
19. april 2009 - 17:17 Der er 3 kommentarer og
1 løsning

startbogstav og mysql

Jeg har en DB-tabel hvor et af felterne i rækkerne er 'grund'. Input´s i dette felt indeholder et bogtav, et tal og evt. et bogstav mere. (ex. L 6 A). Jeg vil gerne sorterer udtræk alt efter hvad brugeren trykker på af link:

Trykkes <a href="?side=foreningen&startbogstav=A" class="a1">Amazonevej</a>
er det hensigten at alle rækker hvor 'grund' starter med A skal hentes fra DB.

$hent_grundejer = 'SELECT * FROM bruger WHERE niveau="bruger" AND grund LIKE "%' . $_GET['startbogstav'] . '"';

Men pt. henter overstående alle rækker hvor grund SLUTTER på A f.eks L 6 A

Hvordan får jeg den til at kigge påd et første bogstav?
Avatar billede Slettet bruger
19. april 2009 - 17:30 #1
Skift
$hent_grundejer = 'SELECT * FROM bruger WHERE niveau="bruger" AND grund LIKE "%' . $_GET['startbogstav'] . '"';

ud med:

$hent_grundejer = 'SELECT * FROM bruger WHERE niveau="bruger" AND grund LIKE "' . $_GET['startbogstav'] . '%"';


% matcher 0 eller flere tegn, og hvis man skal matche alle grundene der starter med A, skal % placeres bag ved A.
Avatar billede Slettet bruger
19. april 2009 - 17:31 #2
Desuden vil det være en god idé at skrive:

$startbogstav = mysql_real_escape_string($_GET['startbogstav']);
$hent_grundejer = 'SELECT * FROM bruger WHERE niveau="bruger" AND grund LIKE "' . $startbogstav . '%"';

..for at undgå SQL-injections
Avatar billede prop46 Nybegynder
19. april 2009 - 19:02 #3
Mange tak :) Læg et svar...
Avatar billede Slettet bruger
19. april 2009 - 19:08 #4
Så lidt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester