Työnalla levytietokanta. Oon yritttänyt saada siihen toimimaan hakutoimintoa jolla haetaan kannasta tietyn genreiset levyt. (oma koodivirittelyni löytyy viestin lopusta)
Koodin tarkoitus olis että sivu ykköseltä valitaan genre jonka jälkeen siirrytään sivu2:lle johon tulostuu levyt jotka kuuluu valittuun genreen.
Aluks tein ton siten että laitoin kannastahaut, tulostuksen jne jokaisen iffin sisään ja homma toimi ok. Tyyli on 'vähän' vammanen koska haku-, tulostuskoodit pitää kirjoittaa moneen otteeseen..
Koodi on nyt muutettu uuteen 'ei vammaiseen' muotoon, mutta se ei suostu toimimmaan. Vika lienee tuossa miten muuttujan arvo laitetaan kyselyyn, vai?
sivu1 .. <form action="sivu2.php" method="post"> <select name="genre"> <option name="pop" value="pop">pop</option> <option name="rock" value="toka">rock</option> </select> <input type="submit" value="hae"> </form> ..
sivu2 .. if( $genre == "pop" ) { print ("<h4>pop</h4> "); $muuttuja = pop; } else { print ("<h4>rock</h4> "); $muuttuja = rock; } $sql = "SELECT *FROM musiikkidb WHERE genre like $muuttuja "; $res = mysql_query($sql); while ($values = mysql_fetch_array($res)) { echo("<td>{$values["artisti"]}</td>"); echo("<td>{$values["albumi"]}</td>"); }
Kokeilepa muuttaa tuo $genre tuolta iffin sisältä muotoon $_POST['genre'], se voisi auttaa.
...
<option value="pop">pop</option>
<option value="toka">rock</option>
...
$muuttuja = pop; <-- pitäskö olla hipsuttimet? Jepjep taulukot käyttöön. Muuttujia ja tekstiä saa erotella.
if( $genre == "pop" ) { print ("<h4>pop</h4> "); $muuttuja = pop; } else { print ("<h4>rock</h4> "); $muuttuja = rock; }
sievenee muotoon
$muuttuja = $_POST['genre']; echo "<h4>".$muuttuja."</h4>";
Ja pitäsköhän tuolla olla <table> jossain?
Aihe on jo aika vanha, joten et voi enää vastata siihen.