Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Levytietokannan hakuongelma

lemoon [07.10.2004 15:52:49]

#

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>");
  }

Tempfile [07.10.2004 16:11:51]

#

Kokeilepa muuttaa tuo $genre tuolta iffin sisältä muotoon $_POST['genre'], se voisi auttaa.

kasetti [07.10.2004 16:15:12]

#

...
<option value="pop">pop</option>
<option value="toka">rock</option>
...

tsuriga [07.10.2004 16:46:02]

#

$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?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta