Avatar billede Asger Carlsen Nybegynder
05. august 2005 - 15:23 Der er 8 kommentarer og
1 løsning

Udtræk fra tabel i alfabetiskrækkefølge + begyndelses bogstav

Jeg har en tabel med en masse bruger informationer, hvor jeg bruger denne kode:

$hent_brugere = mysql_query("SELECT * FROM et_userp");

Jeg vil gerne have dem hentet i alfabetiskrækkefølge. DEsuden vil jeg også have mulighed for kun at hente informationer på personer statende med fx. K.

Nogen der kan hjælpe mig?
Avatar billede barklund Nybegynder
05. august 2005 - 15:34 #1
Noget med:

$where = 1;
if (isset($_GET['letter'])) {
  $where = "name LIKE '".$_GET['letter']."%'";
}
$hent_brugere = mysql_query("SELECT * FROM et_userp WHERE $where ORDER BY name ASC");

Så kan du begrænse ved at åbne siden som:

foo.php?letter=K

:)

--
Morten Barklund
Avatar billede barklund Nybegynder
05. august 2005 - 15:35 #2
Måske man også burde validere lidt på, hvad der nu engang stod i søgestrengen :)
Avatar billede jaw Nybegynder
05. august 2005 - 15:35 #3
Vel hellere:

$where = 1;
if (isset($_GET['letter'])) {
  $where = "WHERE name LIKE '".$_GET['letter']."%'";
}
$hent_brugere = mysql_query("SELECT * FROM et_userp $where ORDER BY name ASC");

? Ellers vil den faile hvis $_GET['letter'] ikke er sat.
Avatar billede barklund Nybegynder
05. august 2005 - 15:38 #4
Nejda? WHERE 1 er da ganske gyldigt - men bare at skrive 1 er ikke så gyldigt :)

Du mener nok:

$where = "";
if (isset($_GET['letter'])) {
  $where = "WHERE name LIKE '".$_GET['letter']."%'";
}
$hent_brugere = mysql_query("SELECT * FROM et_userp $where ORDER BY name ASC");

:)
Avatar billede jaw Nybegynder
05. august 2005 - 15:41 #5
Nå ja, havde ikke lige taget din $where = 1 med i betragtningen, beklager :)
Avatar billede Asger Carlsen Nybegynder
05. august 2005 - 15:45 #6
barklund /> Mange tak, det virkede, læg et svar, så får du point
Avatar billede barklund Nybegynder
05. august 2005 - 15:48 #7
Fjong!

Dog skal du nok lige mysql_real_escape_string'e den først :)

$where = 1;
if (isset($_GET['letter'])) {
  $where = "name LIKE '".mysql_real_escape_string($_GET['letter'])."%'";
}
$hent_brugere = mysql_query("SELECT * FROM et_userp WHERE $where ORDER BY name ASC");

:)
Avatar billede Asger Carlsen Nybegynder
05. august 2005 - 15:52 #8
det gør jeg så :)
Avatar billede barklund Nybegynder
05. august 2005 - 17:01 #9
Tark for points :)
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
Computerworld tilbyder specialiserede kurser i database-management

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