Avatar billede Slettet bruger
01. februar 2011 - 22:59 Der er 7 kommentarer og
1 løsning

Order by personers forbogstav men har kun id

Jeg har nogle lister jeg henter frem hvor mine bruger er registret med deres id.

Jeg har lavet en prøve side her:
Jeg vil gerne have at der bliver sorteret efter alfabetisk orden:

$result = mysql_query("SELECT userid from valg WHERE ORDER BY ");
While($row=mysql_fetch_array($result))
{
$result1 = mysql_query("SELECT username from users Where userid = '".$row['userid']."'");
While($row1=mysql_fetch_array($result1))
{
$user = $row1['username'];
}
echo "<tr><td>$user</td><td>"
}
Avatar billede HBP2 Praktikant
01. februar 2011 - 23:25 #1
Her er en lidt langsom men enkel løsning. Jeg har samtidigt ryddet lidt op i koden, hvilket var tiltrængt:


function lookup_name($uid) {
  $result = mysql_query("SELECT username FROM users WHERE userid=$uid;");
  $row = mysql_fetch_array($result);
  // TODO : check evt. for fejl ...
  return $row['username'];
}

$users = array();
// læs det hele
$result = mysql_query("SELECT userid FROM valg;");
while ($row = mysql_fetch_array($result)) {
  $uid = $row['userid'];
  $name = lookup_name($uid); 
  $users[] = $name;
}
// sorter efter navn
sort($users);
// udskriv
foreach ($users as $user) {
  $user = htmlspecialchars($user);
  echo "<tr><td>$user</td><td>"
}
Avatar billede DGudiksen Nybegynder
01. februar 2011 - 23:59 #2
Det kan gøre meget lettere.


$result = mysql_query("SELECT * from valg INNER JOIN users ON users.userid=valg.userid ORDER BY users.username ASC");
While($row=mysql_fetch_array($result))
{
echo "<tr><td>".$row[users.username]."</td><td>";
}


Prøv og se om det ikke skulle virke ;)
Avatar billede Slettet bruger
02. februar 2011 - 00:18 #3
Super... Takker.
Avatar billede Slettet bruger
02. februar 2011 - 00:24 #4
Går efter den nemme måde :P

Du må gerne poste et svar DGudiksen
Avatar billede The_Buzz Novice
02. februar 2011 - 08:42 #5
Bemærk:

Det anbefales at du kun select de ting du skal bruge - og aldrig bruge * i din select sætning.

* Bør man kun bruge på udvikling i special tilfælde. Det er nemlig rimelig resourcekrævende i nogle tilfælde med høj trafik og store databaser.
Avatar billede Slettet bruger
02. februar 2011 - 10:47 #6
Jeps...
Det vil jeg huske.
Avatar billede DGudiksen Nybegynder
02. februar 2011 - 23:26 #7
the_buzz er jeg udemærket klar over, var bare ikke helt sikker i hvad han gerne ville have trukket ud af databasen så ville jeg selv lade ham angive, dog burde jeg nok have nævnt det ;-)
Avatar billede DGudiksen Nybegynder
02. februar 2011 - 23:26 #8
her er et svar ;)
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