Nieuw lid |
|
Ik vraag me af hoe je in 1 query een normale select kan krijgen + een select distinct. Een voorbeeld:
Van een game heb ik een walkthrough geschreven. Ik zet deze online, verdeeld in meerdere pagina's. Ook kies ik of deze leesbaar is voor publiek of niet.
Nou blijkt het bij dat de game Doom 3 de walkthrough nog niet leesbaar is voor publiek. Deze Doom 3 walkthrough heeft bijv 5 pagina's.
In de database staat dan het volgende:
---------
ID 1
Game: Doom3
Actief: 0
Paginanr: 1
ID 2
Game: Doom3
Actief: 0
Paginanr: 2
ID 3
Game: Doom3
Actief: 0
Paginanr: 3
ID 4
Game: Doom3
Actief: 0
Paginanr: 4
ID 5
Game: Doom3
Actief: 0
Paginanr: 5
---------
Ik wil deze dus in 1x activeren door de game te kiezen uit een lijst, maar het probleem is dat als ik de distinct gebruik, ik alleen de gamenaam kan laten zien. "Select *, Select Distinct" werk niet. Hoe kan ik er toch voor zorgen dat ik het volgende kan laten zien:
Gamenaam, Actief of niet, Link om alle pagina's te activeren
De game mag maar 1x in de lijst voorkomen, ipv meerdere keren.
Code:
<form method="POST" action="activeer.php">
<table border="0" width="590" cellspacing="1" cellpadding="2" bgcolor="#000000">
<tr>
<td width="20" bgcolor="#FFFFFF"><b>ID</b></td>
<td width="450" bgcolor="#FFFFFF"><b>Game</b></td>
<td width="60" bgcolor="#FFFFFF"><b>Pagina</b></td>
<td width="60" bgcolor="#FFFFFF"><b>Online</b></td>
</tr>
<?
$query = "SELECT DISTINCT(walkthroughs.gid) FROM walkthroughs INNER JOIN games ON walkthroughs.gid = games.gid ORDER BY active asc, gid asc";
$sql=mysql_query($query) or die (mysql_error());
while ($obj=mysql_fetch_object($sql)) {
$wid = $obj->wid;
$gid = $obj->gameid;
$page = $obj->page;
$pagetitle = $obj->pagetitle;
$walkthrough = $obj->walkthrough;
$active = $obj->active;
$add_date = $obj->add_date;
$game = $obj->game;
?>
<tr>
<td width="20" bgcolor="#FFFFFF"><? echo "$wid"; ?></td>
<td width="450" bgcolor="#FFFFFF"><? echo "$game"; ?></td>
<td width="60" bgcolor="#FFFFFF"><? echo "$page"; ?></td>
<td width="60" bgcolor="#FFFFFF">
<input type="checkbox" name="active" value="1" <? if ($active == '1'){ ?>checked<?php } ?>></td>
</tr>
<?
}
?>
</table>
<p><input type="submit" value="Opslaan" name="Submit"></p>
</form>
<form method="POST" action="activeer.php"> <table border="0" width="590" cellspacing="1" cellpadding="2" bgcolor="#000000"> <tr> <td width="20" bgcolor="#FFFFFF"><b>ID</b></td> <td width="450" bgcolor="#FFFFFF"><b>Game</b></td> <td width="60" bgcolor="#FFFFFF"><b>Pagina</b></td> <td width="60" bgcolor="#FFFFFF"><b>Online</b></td> </tr> <? $query = "SELECT DISTINCT(walkthroughs.gid) FROM walkthroughs INNER JOIN games ON walkthroughs.gid = games.gid ORDER BY active asc, gid asc"; $wid = $obj->wid; $gid = $obj->gameid; $page = $obj->page; $pagetitle = $obj->pagetitle; $walkthrough = $obj->walkthrough; $active = $obj->active; $add_date = $obj->add_date; $game = $obj->game; ?> <tr> <td width="20" bgcolor="#FFFFFF"> <? echo "$wid"; ?></td> <td width="450" bgcolor="#FFFFFF"> <? echo "$game"; ?></td> <td width="60" bgcolor="#FFFFFF"> <? echo "$page"; ?></td> <td width="60" bgcolor="#FFFFFF"> <input type="checkbox" name="active" value="1" <? if ($active == '1'){ ?>checked<?php } ?>></td> </tr> <? } ?> </table> <p><input type="submit" value="Opslaan" name="Submit"></p> </form>
Walkthrough.gid (Game id) is dus gelijk aan het ID van de game in een andere tabel.
Ik hoop dat ik duidelijk genoeg ben en jullie me kunnen helpen.
|