Eli .. omistan jo toimivan koodipätkän jolla haetaan artistit ja niiden albumit hienoon listaan.
nyt pitäisi saada samanlainen lista mutta myös biisit mukaan kuvioihin.
yritin keksiä miten se onnistuu mutta tuli aina seinä vastaan kun luulin onnistuvani. Olisitteko niin ystävällisiä etää opastaisitte minua eteenpäin.
tässä vanha koodi:
<!DOCTYPE HTML public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Albumi lista</title> <link rel="stylesheet" type="text/css" href="lista.css" /> </head> <body> <?php $samDB = mysql_connect( "stageradio.servemp3.com", "******", "********" ); mysql_select_db( "samdb", $samDB); $result = mysql_query( "select distinct artist, fhr_artistid from songlist order by artist", $samDB ); $result1 = mysql_query( "select distinct album, from songlist where artist = " . $row["artist"] . " order by album", $samDB ); // ************************************************************************** // $artist_rd = mysql_query( "SELECT distinct artist, fhr_artistid, FROM songlist ORDER BY artist" ); ?> <h2>STAGERADIO ALBUMI LISTA</h2> <table> <tr> <td colspan="2" id="artist"><input type="checkbox" name="sop" value="sop"> = kategoroitu <input type="checkbox" name="kat" value="kat"> = sopii main</td> </tr> </table> <?php while ($artist = mysql_fetch_assoc($result)){ $i = $artist['fhr_artistid']; ?> <table> <tr> <td colspan="2"></td><td></td> </tr> <tr> <td width ="200" colspan="2" id="artist"> <?php echo ($artist['artist']); ?> </td> <td></td> </tr> <?php $read = mysql_query("SELECT distinct album, fhr_artistid FROM songlist WHERE fhr_artistid = '$i' ORDER BY album "); while ($show = mysql_fetch_assoc($read)){ ?> <tr> <td width="40"><input type="checkbox" name="sop" value="sop"><input type="checkbox" name="kat" value="kat"></td> <td width="500" id="album"> <?php echo ($show['album']); } ?> </td> </tr> </table> <?php } ?> </body> </html>
tosiaan .. kappale id on ihan "ID" ja "title" on kappaleen nimi tietokannassa :)
kiitoksen etukäteen!
Ihan samalla tavallahan sä voit hakea ne kappaleet kun nuo albumitkin. Olettaen tietysti, että kappaleet-taulussa on sarake albumin nimelle tai id:lle. Muuten tämä on mahdotonta, ellei sinulle ole sitten erillista taulua joka kertoo mihin albumiin kappale kuuluu, jossa taas ei ole mitään järkeä.
SELECT nimi FROM kappaleet WHERE album = "Raja" AND artist = "Stam1na";
Noniin .. nyt koodin pätkä toimii jo jollain tavalla ..
eli lista tulostuu hienosti ja oikeassa muodossaa..
artist
album
song
song
song
mutta jos artistilla on esim viis levyä .. näyttää lista vain saman levyn viisi kertaa.. :/ ...
tässä varmaankin tämä oleellisin koodin pätkä mikä nyt on .. missä menee vikaan?
<?php while ($artist = mysql_fetch_assoc($result)){ $i = $artist['fhr_artistid']; ?> <table> <tr> <td colspan="2"></td><td></td> </tr> <tr> <td width ="200" colspan="2" id="artist"> <?php echo ($artist['artist']); ?> </td> <td></td> </tr> <?php $read = mysql_query("SELECT distinct album, fhr_artistid, fhr_albumid FROM songlist WHERE fhr_artistid = '$i' ORDER BY album "); while ($show = mysql_fetch_assoc($read)){ ?> <tr> <td width="40"><input type="checkbox" name="sop" value="sop"><input type="checkbox" name="kat" value="kat"></td> <td width="500" id="album"> <?php echo ($show['album']); //tästä alkaa kappale haku $a = $show['fhr_albumid']; ?> <table> <tr> <td colspan="2"></td><td></td> </tr> <?php $read = mysql_query("SELECT distinct trackno, title FROM songlist WHERE fhr_albumid = '$a' ORDER BY trackno "); while ($show = mysql_fetch_assoc($read)){ ?> <tr> <td width="50"><input type="checkbox" name="sop" value="sop"><input type="checkbox" name="kat" value="kat"></td> <td width="500" id="album"> <?php echo ($show['trackno']);?> - <?php echo ($show['title']); } ?> </td> </tr> </table> <?php // tähän se loppuu } ?> </td> </tr> </table> <?php } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.