categorieën apart weergeven uit query
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
{
$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);
?>
{
$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:
, 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?
dat zal php niet slikken nee.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
$sql = "SELECT eerste FROM tweede";
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res))
{
echo $row[0] . "\r\n";
}
?>
$sql = "SELECT eerste FROM tweede";
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res))
{
echo $row[0] . "\r\n";
}
?>
dit is de logische volgorde die je het beste kan aanhouden
bedankt, zat al tijden te turen wat het probleem was.
Nu zit ik nog met één klein dingetje:
Hoe kan ik een bericht weergeven als de kolom gba leeg is?
dit staat er nu dus:
en zoiets als dit zal niet werken..:
Gewijzigd op 01/01/1970 01:00:00 door Richard
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
$sql = "SELECT eerste FROM tweede";
$res = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($res);
if($num >= 1)
{
while($row = mysql_fetch_array($res))
{
echo $row[0] . "\r\n";
}
}
else {
echo 'Er is niks beschikbaar';
}
?>
$sql = "SELECT eerste FROM tweede";
$res = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($res);
if($num >= 1)
{
while($row = mysql_fetch_array($res))
{
echo $row[0] . "\r\n";
}
}
else {
echo 'Er is niks beschikbaar';
}
?>
Voorbeeld uitgebreidt
Bedankt
zo begon ik hier ook hoor :)
Ik zit met het probleem hoe ik die categorieën kan nummen..
eigenlijk lijk het hele vb niet echt aan te slaan bij mij :/ het lijkt er totaal niet op.. en het schier ook hiet niet op zo, ik vraag om wat uitebreidere hulp =)
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$gba = $list5->console == "gba";
$gba1 = mysql_num_rows($gba);
while($list5 = mysql_fetch_object($query5))
{
if($gba1 >= 1)
{
?>
$gba = $list5->console == "gba";
$gba1 = mysql_num_rows($gba);
while($list5 = mysql_fetch_object($query5))
{
if($gba1 >= 1)
{
?>
pff ik ben ook zo'n noob in niet-standaard php :/
maar ik moet ook selecten van de gebruikersnaam (zie eerste bericht), anders was het wel makkelijk geweest..
Gewijzigd op 01/01/1970 01:00:00 door Richard
Quote:
Kan je even duidelijker uitleggen wat je echt precies wilt?Ik zit met het probleem hoe ik die categorieën kan nummen..
Ik begrijp je nu niet goed namelijk.
Als er zich geen games in een categorie bevinden moet dat bericht er staan (nog niks toegevoegd bla)..
de categorieën heten 'console' in de tabel.
bv. console == "gba"
Als ik niet rekening hoefde te houden met de gebruiker die ingelogd is dan zou het makkelijk zijn met WHERE, maar nu moet het dus anders..,
ik probeerde iets als dit
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$gba = $list5->console == "gba";
$gba1 = mysql_num_rows($gba);
while($list5 = mysql_fetch_object($query5))
{
if($gba1 >= 1)
{
?>
$gba = $list5->console == "gba";
$gba1 = mysql_num_rows($gba);
while($list5 = mysql_fetch_object($query5))
{
if($gba1 >= 1)
{
?>
Ik denk dat het probleem is dat ik niet de waarde kan tellen per categorie en van daaruit bv. dit neerzetten: if($gba1 >= 1)
kan je dat uitleggen....
Ik ga even iets voor je maken moment.
Code (php)
1
2
3
4
5
2
3
4
5
<?
$select5 = "SELECT * FROM leden_gegevens WHERE gebruikersnaam = '".$_COOKIE['gebruikersnaam']."'";
$query5 = mysql_query($select5)or die(mysql_error());
$list5 = mysql_fetch_object($query5);
?>
$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.. :/
en als er geen games in de map staan, wil je dat daar een melding van staat?
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
kan je de sql van je tabellen die je hiervoor gebruikt eens posten.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$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";
?>
$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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
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());
}
}
?>
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());
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Richard
hoe heet de tabel?
oja sorry, bedoel je leden_gegevens?, daar worden de ledengegevens uitgehaald.. (doh) en worden dus de games per gebruiker weergeven
dan kan je bijv zo'n query maken:
Code (php)
1
2
3
4
2
3
4
<?
$sql = "SELECT * FROM tabel WHERE poster_id = '".$_SESSION['user_id']."'";
$res = mysql_query($sql) or die(mysql_error());
?>
$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.
want wat je zegt heb ik hier eigenlijk al:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
$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());
?>
$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..?
Gewijzigd op 01/01/1970 01:00:00 door Richard
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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
}
?>
$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
Gewijzigd op 01/01/1970 01:00:00 door Richard