Hjälp med SQL Join eller vad det nu kan bli
Postat: 07 maj 2009, 17:15
Håller på med ett litet frågesports-spel som databas projekt, och jag har 2 databaser. 1 med frågorna, och 1 med kategorierna.
Kategoritabellen ser ut som följande:
ID (INTEGER - auto increment)
kategorinamn (VARCHAR)
beskrivning (VARCHAR)
Och frågetabellen ser ut så här:
ID (INTEGER - auto increment)
Frågan: (fraga/VARCHAR)
Rätt svar: (svar/VARCHAR)
Svårighetsgrad: (niva/VARCHAR)
Kategori: (kategori/VARCHAR)
I exemplet så har vi kategorin "GNU/Linux" (kategorinamn) med ID=1.
Koden för att lägga till frågor ser ut så här:
Senare läggs datan in genom att anropa:
Och efter det så visas en lista med alla frågor med följande:
Problemet nu är ju att det kommer att stå "GNU/Linux" som en VARCHAR i tabellen med frågor. Jag vill att när man vart "GNU/Linux" i drop-boxen, så ska IDt från kategoritabellen (1), skickas in som kategori i frågetabellen, och när allt visas sen så ska koden hämta frågorna, och automatiskt ersätta ID-nummret med "kategorinamn" på något sätt.
Hur löser man detta på ett vettigt sätt?
Kategoritabellen ser ut som följande:
ID (INTEGER - auto increment)
kategorinamn (VARCHAR)
beskrivning (VARCHAR)
Och frågetabellen ser ut så här:
ID (INTEGER - auto increment)
Frågan: (fraga/VARCHAR)
Rätt svar: (svar/VARCHAR)
Svårighetsgrad: (niva/VARCHAR)
Kategori: (kategori/VARCHAR)
I exemplet så har vi kategorin "GNU/Linux" (kategorinamn) med ID=1.
Koden för att lägga till frågor ser ut så här:
Kod: Markera allt
<form name="katbox" method="post" action="">
<table>
<tr><td>Fråga:</td><td><textarea name="fraga" rows="5" cols="50"></textarea></td></tr>
<tr><td>Kategori:</td><td>
<select name="kategori">
<option>Välj här</option>
<?php
// Här ska kategorinamnen tas från katogorier/kategorinamn. Sen ska frågan läggas in med kategoriers ID som kategori i fragor.
$select = "select * from kategorier";
$query = mysql_query($select);
if(mysql_num_rows($query)) {
while($row = mysql_fetch_assoc($query) ) {
echo "<option>$row[kategorinamn]</option>";
} }
?>
<input type="button" value="Lägg till ny Kategori" onklick="window.location.href='hanterakat.php'">
</select>
</td></tr>
<tr><td>Svårighetsgrad:</td><td><select name="niva"><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option></select></td></tr>
<tr><td>Svar:</td><td><textarea name="svar" rows="5" cols="50"></textarea></td></tr>
<tr><td> </td><td><input type="submit" value="Lägg till fråga" /></td></tr>
</table>
</form>
Kod: Markera allt
$result = mysql_query( "insert into fragor ( fraga, kategori, svar, niva ) values ('" . $fraga . "', '" . $kategori . "', '" . $svar . "', '" . $niva . "')", $db );
if( $result == false ) {
die( "No results from DB : " . mysql_error( $db ) );
}
Kod: Markera allt
while.... print "<tr><td>Fråga: </td><td>" . $row["fraga"] . "</td><tr><td>Kategori: </td><td>" . $row[ "kategori" ] *mer kod...*
Hur löser man detta på ett vettigt sätt?
