Ik ben bezig met het maken van een forum voor mijn leden systeem.
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.
nee ik gaf een voorbeeltje en de naam is ook geen id maar categorie. en elke categorie heeft een code. hoe kan ik elke categorie verschillend opvragen bijvoorbeeld in totaal 100 post
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:
<?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>";

}

?>
alleen worden nu alle post weergegven
$query = mysql_query("select * from forum order BY datum DESC");
>>
$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 ..
Ik krijg nog steeds alle post op 1 pagina en ik vroeg om post met het categorie nummer 1 op een speciale pagina.
categorie nummer 2 weer op een andere pagina.

Ik weet dat ik het kan weer geven door middel van dit script:
<?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>";

}

?>
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.
Boven doe je dit

"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)
Ik heb even verder zitten zoeken en heb nu dit:

<?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>";

}

?>

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?

Reageren