Avatar billede nikolajdu Nybegynder
03. januar 2002 - 23:58 Der er 11 kommentarer og
1 løsning

Playlist og mySql :((

Hvordan trækker jeg ud fra 2 tabeller på én gang.

Først henter jeg 10 playID ud.

Bagefter vil jeg så gerne have udskrevet resultatet fra en anden tabel hvor id svarer til den playID jeg lige har hentet og så skal de sorteres efter playID og ikke id.


$getPlaylist = mysql_query(\"select * from playlist ORDER BY playID ASC LIMIT 0,10\");

$resultat = mysql_query(\"select from kunstner where id==$myPlayID ORDER BY id ASC LIMIT 0,10\"); // hvordan sorterer jeg efter playID

while ($myPlayID = mysql_fetch_array($getPlaylist)) {

// her skriver vi så ud

}

Hva´ gør a´ galt hær??

/Nikolaj
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:00 #1
Hov det skulle selvfølgelig være:

while ($raekke = mysql_fetch_array($resultat)) {
// her skriver vi så ud
}
Avatar billede erikjacobsen Ekspert
04. januar 2002 - 00:03 #2
du laver bare

  select * from playid,kunstner where playid.id=kunstner.id .....osv
Avatar billede cyberdude Nybegynder
04. januar 2002 - 00:16 #3
du gør som erik skriver..... men hvis du vil gøre det på den måde du er startet på, så gør du sådant her

$getPlaylist = mysql_query(\"select * from playlist ORDER BY playID ASC LIMIT 0,10\");
while($row=mysql_fetch_row($getPlaylist)) {
$resultat = mysql_query(\"select * from kunstner where id = \'$row[playID]\' ORDER BY id ASC LIMIT 0,10\"); // hvordan sorterer jeg efter playID

ASC = de første x i tabellen
DESC = de sidste x i tabellen
x = det du specificere i LIMIT

Men langt den hurtigste for sql\'en er det erik.... skriver!
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:20 #4
Har prøvet med:

$getPlaylist = mysql_query(\"select * from playlist,kunstner where playlist.musicID=kunstner.id ORDER BY playlist.playID ASC LIMIT 0,10\");

while ($myPlaylist = mysql_fetch_array($getPlaylist)) {

<? echo $myPlaylist[\'kunstner.titel\']?>

Nu får jeg så: Undefined index: kunstner.titel

??
Avatar billede erikjacobsen Ekspert
04. januar 2002 - 00:32 #5
Du skriver bare $myPlaylist[\'titel\']

er der navnesammenfald, så omdøber du dem i select-en:  kunstner.sammenavn as kunstsammenavn
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:41 #6
Der findes kun 2 rækker i tabellen playList: playID og musicID og de findes ingen andre steder.
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:42 #7
Skal jeg så trække alle sammen til f.eks:

playlistmusicID=kunstnerid

??
Avatar billede erikjacobsen Ekspert
04. januar 2002 - 00:43 #8
Hvis navnene er forskellige skriver du bare navnene. Du kan også nøjes med

  ....where musicID=id
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:46 #9
Damn det var jo let. Brugte bare de unikke navne :))
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:48 #10
og tak :)
Avatar billede erikjacobsen Ekspert
04. januar 2002 - 00:48 #11
Jah. Når jeg er rigtig doven navngiver jeg felterne i en tabel med navnet \"gryf\", som
\"gryfid\", \"gryfnavn\", \"gryfadresse\" ... bare for at få unikke navne.
Avatar billede nikolajdu Nybegynder
04. januar 2002 - 00:51 #12
Kender det udemærket, men lige når det kommer til mySql er det vidst ganske godt at jeg bruger navne jeg også forstår i længden :))
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