Hoi ik heb een probleempje..
Uit de database wordt de collectie van leden gehaald en nu wil ik op verschillende plaatsen de games (het is een gamescollectie) per categorie weergeven.

Dit is zoals het normaal is, met alle categorieën weergeven:
<?
{
$select5 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query5 = mysql_query($select5)or die(mysql_error());
$list5 = mysql_fetch_object($query5);

$select6 = "SELECT * FROM leden_collectie WHERE gebruiker = '".$list5->id."' ORDER BY naam DESC";
$query6 = mysql_query($select6)or die(mysql_error());
$aantal6 = mysql_num_rows($query6);
?>

Nu wil ik dus maken dat bv. de categorie 'gba' wordt weergeven met zoiets als dit:
<? if($list6->console == "gba")
{
while($list6 = mysql_fetch_object($query6))
{
?>
, maar dat werkt dus niet.. net zoals een paar andere dingen die ik al heb geprobeerd. Ik weet niet hoe ik het WHERE-command kan toepassen sinds de gebruikersnaam daar ook staat als voorwaarde..

Wie weet een oplossing voor mij?
<?
$select5 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query5 = mysql_query($select5)or die(mysql_error());
$list5 = mysql_fetch_object($query5);
?>
ik bedoel dat ik dan niet kan doen 'WHERE console = 'gba' ofzo.. :/
je wilt alle categorieen opvragen in een query en die op het scherm weer te geven?
en als er geen games in de map staan, wil je dat daar een melding van staat?
ja precies, een melding per categorie.
Leden kunnen games toevoegen die in de db staan en die games hebben allemaal een categorie 'console'. Op je collectiepagina staan die apart geordend op categorie en als je geen games uit een categorie hebt toegevoegd, dan krijg je die melding/tekst te zien
ah, je wilt per gebruiker zien wat ze hebben toegevoegd....

kan je de sql van je tabellen die je hiervoor gebruikt eens posten.
<?
$select4 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query4 = mysql_query($select4)or die(mysql_error());
$list4 = mysql_fetch_object($query4);

$select5 = "SELECT * FROM leden_collectie WHERE gebruiker = '".$list4->id."' ORDER BY naam DESC";
$query5 = mysql_query($select5)or die(mysql_error());
$gba = $list5->console == "gba";
?>

Ik hoop dat dit voldoet:

Veld Type Collatie Attributen Null Standaardwaarde Extra Actie
id smallint(10) Nee auto_increment
gameid smallint(10) Nee 0
naam varchar(250) latin1_swedish_ci Ja 0
gebruiker smallint(10) Nee 0
console varchar(250) latin1_swedish_ci Nee


Toevoegen:
<?
if($_GET['actie'] == "collectie")
{
$select16 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query16 = mysql_query($select16)or die(mysql_error());
$list16 = mysql_fetch_object($query16);

$select17 = "SELECT gameid FROM leden_collectie WHERE gameid = '".$_GET['id']."'";
$query17 = mysql_query($select17)or die(mysql_error());
$list17 = mysql_fetch_object($query17);
if(mysql_num_rows($query17) == 1)
{
echo "<script language=JavaScript>
alert('Je hebt deze game al toegevoegd aan je collectie!') </script>";
}
else
{
echo "<script language=JavaScript>
alert('Game succesvol toegevoegd aan je collectie!') </script>";

$insert = "INSERT INTO leden_collectie (id, gebruiker, gameid, naam, console) VALUES ('', '".$list16->id."', '".$_GET['id']."', '".$list->naam."', '".$list->console."')";
mysql_query($insert)or die(mysql_error());
}
}
?>
dit is 1 tabel, in je voorbeeld heb je er 2
hoe heet de tabel?
oja sorry, bedoel je leden_gegevens?, daar worden de ledengegevens uitgehaald.. (doh) en worden dus de games per gebruiker weergeven
als je een game toevoegd dan staat in de db toch wel de ID van de persoon die de game heeft toegevoegd.

dan kan je bijv zo'n query maken:

<?
$sql = "SELECT * FROM tabel WHERE poster_id = '".$_SESSION['user_id']."'";
$res = mysql_query($sql) or die(mysql_error());
?>

als je user_id 1 is, dan heb je eigenlijk deze query.

$sql = "SELECT * FROM tabel WHERE poster_id = 1";

ik hoop dat dit duidelijk is voor je en hoe je dus makkelijk verder kan werken.
ok ik snap het denk ik maar ik weet nog steeds niet hoe ik met die query de gegevens van 1 categorie uit de db kan halen..

want wat je zegt heb ik hier eigenlijk al:
<?
$select4 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query4 = mysql_query($select4)or die(mysql_error());
$list4 = mysql_fetch_object($query4);

$select5 = "SELECT * FROM leden_collectie WHERE gebruiker = '".$list4->id."' ORDER BY naam DESC";
$query5 = mysql_query($select5)or die(mysql_error());
?>
Ik moet dus min of meer nog steeds 2 WHERE's hebben :/ eentje voor de gebruiker die ingelogd is en eentje voor de categorie..
het worden dus denk ik aparte queries per console/categorie..?
Het is uiteindelijk opgelost door dit:

<?php

$select5 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query5 = mysql_query($select5)or die(mysql_error());
$list5 = mysql_fetch_object($query5);

$select6 = "SELECT * FROM leden_collectie WHERE gebruiker = '".$list5->id."' ORDER BY naam DESC";
$query6 = mysql_query($select6)or die(mysql_error());
$aantal6 = mysql_num_rows($query6);

if($aantal6 != 0)
{
while($list6 = mysql_fetch_object($query6))
{
$select7 = "SELECT * FROM leden_collectie WHERE gebruiker = '".$list5->id."' AND console = 'gba' ORDER BY naam DESC";
$query7 = mysql_query($select6)or die(mysql_error());

while($list7 = mysql_fetch_object($query7))
{
// resultaat
}
}
}
else
{
//foutmelding
}
?>

waarbij gba wordt vervangen per console; het werkt.
Bedankt voor de vele hulp

Reageren