opvragen
Je kan op een algemene pagina zien welke onderwerpen het forum bevat ook kun je via die pagina een bericht posten.
bij het posten word een categorie opgeslagen in het database.
Nu wil ik alle post met het id 1 uit het database halen en weer geven in een lijst bijvoorbeeld:
Gepost door: Gepost op: Onderwerp:
Robin 29-04-2896 Test.
Weet iemand hoe ik dat kan doen?
Ook moet er een melding komen als er geen berichten zijn gepost.
Alvast bedankt
Alle post met id 1? Een id hoort uniek te zijn.
categorie1 10 post als ik naar de pagina forum.php?id=1 ga komen die 10 post naar voren.
snap je me?
Ik heb nu de volgende code:
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
29
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
29
<?php
$Query = mysql_query("SELECT * FROM `forum` WHERE categorie='".$_GET['id']."'") or die ( mysql_error() );
$Result = mysql_num_rows($Query);
$query = mysql_query("select * from forum order BY datum DESC");
$row = mysql_fetch_object($query);
if ( $Result < 1 ) {
echo "Een post gevonden.<br>";
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
echo "<tr><td width=\"30%\">$row->onderwerp</td><td>$row->van</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=$row->id&id=$row->id\">Lees</a></td></tr>";
echo "</table>";
}
else {
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
$query = mysql_query("select * from forum order BY datum DESC");
while($row = mysql_fetch_object($query)) {
echo "<tr><td width=\"30%\">$row->onderwerp</td><td>$row->van</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=$row->id&id=$row->id\">Lees</a></td></tr>";
}
echo "</table>";
}
?>
$Query = mysql_query("SELECT * FROM `forum` WHERE categorie='".$_GET['id']."'") or die ( mysql_error() );
$Result = mysql_num_rows($Query);
$query = mysql_query("select * from forum order BY datum DESC");
$row = mysql_fetch_object($query);
if ( $Result < 1 ) {
echo "Een post gevonden.<br>";
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
echo "<tr><td width=\"30%\">$row->onderwerp</td><td>$row->van</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=$row->id&id=$row->id\">Lees</a></td></tr>";
echo "</table>";
}
else {
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
$query = mysql_query("select * from forum order BY datum DESC");
while($row = mysql_fetch_object($query)) {
echo "<tr><td width=\"30%\">$row->onderwerp</td><td>$row->van</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=$row->id&id=$row->id\">Lees</a></td></tr>";
}
echo "</table>";
}
?>
alleen worden nu alle post weergegven
Gewijzigd op 01/01/1970 01:00:00 door Robin Albers
>>
$query = mysql_query("SELECT * FROM `forum` WHERE categorie='".$_GET['id']."' order BY datum DESC") or die ( mysql_error() );
Dit heeft mijn probleem nog niet verholpen.
robin schreef op 17.10.2006 22:32:
Dit heeft mijn probleem nog niet verholpen.
Want ..
categorie nummer 2 weer op een andere pagina.
Ik weet dat ik het kan weer geven door middel van dit script:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$query = mysql_query("SELECT categorie FROM `forum` WHERE categorie='".$_GET['id']."' order BY datum DESC") or die ( mysql_error() );
$Result = mysql_num_rows($query);
$row = mysql_fetch_object($query);
if ( $Result < 1 ) {
echo "Er zijn geen post(s) gevonden.";
}
else {
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
$query = mysql_query("select * from forum order BY datum DESC");
while($row = mysql_fetch_object($query)) {
echo "<tr><td width=\"30%\">$row->onderwerp</td><td>$row->van</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=$row->id&id=$row->id\">Lees</a></td></tr>";
}
echo "</table>";
}
?>
$query = mysql_query("SELECT categorie FROM `forum` WHERE categorie='".$_GET['id']."' order BY datum DESC") or die ( mysql_error() );
$Result = mysql_num_rows($query);
$row = mysql_fetch_object($query);
if ( $Result < 1 ) {
echo "Er zijn geen post(s) gevonden.";
}
else {
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
$query = mysql_query("select * from forum order BY datum DESC");
while($row = mysql_fetch_object($query)) {
echo "<tr><td width=\"30%\">$row->onderwerp</td><td>$row->van</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=$row->id&id=$row->id\">Lees</a></td></tr>";
}
echo "</table>";
}
?>
Alleen nu krijg ik nog alle post op 1 pagina zie www.walibiclub.nl/php/forumid.php?id=1
www.walibiclub.nl/php/forumid.php?id=2
Maar als er een pagina is waar geen post op staat zoals
www.walibiclub.nl/php/forumid.php?id=300
Komen er ook geen berichten maar een melden er zijn geen post gevonden.
"SELECT categorie FROM `forum` WHERE categorie='".$_GET['id']."' order BY datum DESC
Onder doe je dit
select * from forum order BY datum DESC
Maar je wilt zoiets:
"SELECT * FROM forum WHERE categorie = " . mysql_real_escape_string($_GET['id']) . " ORDER BY datum DESC";
(Die mysql_real_escape_string is alleen voor 'beveiliging' overigens)
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
29
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
29
<?php
$Query = mysql_query("SELECT * FROM `forum` WHERE categorie='".$_GET['id']." LIMIT ='1'") or die ( mysql_error() );
$Result = mysql_num_rows($Query);
$query = mysql_query("select * from forum order BY datum DESC");
$row = mysql_fetch_object($query);
if ( $Result < 1 )
{
echo "Er zijn géén posts gevonden.";
}
else
{
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
while($row = mysql_fetch_assoc($query))
{
echo "<tr><td width=\"30%\">".$row['onderwerp']."</td><td>".$row['van']."</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=".$row['id']."&id=".$row['id']."\">Lees</a></td></tr>";
}
echo "</table>";
}
?>
$Query = mysql_query("SELECT * FROM `forum` WHERE categorie='".$_GET['id']." LIMIT ='1'") or die ( mysql_error() );
$Result = mysql_num_rows($Query);
$query = mysql_query("select * from forum order BY datum DESC");
$row = mysql_fetch_object($query);
if ( $Result < 1 )
{
echo "Er zijn géén posts gevonden.";
}
else
{
echo "<table width=\"100%\" cellpadding=\"2\">";
echo "<tr><td width=\"30%\"><b>Onderwerp:</b></td><td><b>Van:</b></td><td><b>Datum:</b></td><td><b>Lees bericht</b></td></tr>";
while($row = mysql_fetch_assoc($query))
{
echo "<tr><td width=\"30%\">".$row['onderwerp']."</td><td>".$row['van']."</td><td></td><td width=\"30%\"><a href=\"forumgroot.php?p=forum&actie=bekijk&forumid=".$row['id']."&id=".$row['id']."\">Lees</a></td></tr>";
}
echo "</table>";
}
?>
Als er geen post zijn in een categorie krijg ik een goede melding namelijk er zijn geen post(s) gevonden.
Maar als er wel post is met een id dan worden alle post weer gegeven in plaats van de post met die categorie code.
Hoe kan ik er voor zorgen dat alleen de post met categorie 1 woorden weergeven op ee npagina en niet alle posts?