Ik ben bezig met mijn forum en daarbij moet het volgende gedaan worden op de pagina Topiclist.php
Alle topics moet uit de database gehaald worden bij desbetreffende sub_id, dit is niet zo moeilijk en lukt ook gewoon:
<?php
$sql = mysql_query("
SELECT
*
FROM
topic
WHERE
sub_id = '".mysql_real_escape_string($_GET['sub_id'])."'
");
?>
Alleen nu het probleem:
Hij moet gaan ordenen op de last post...
hoe de h*ll krijg ik het voor elkaar om eerst alle post nog even op te halen en dan daarmee te ordenen?
En dan probleem 2:
Hij moet dan ook nog eens kijken naar de status van het topic, alleen als de status nr 2 heeft moet dat topic bovenin blijven deze is namelijk een sticky.
Iemand een idee of een duwtje in de goede richting?
# Query
$Query =
"
SELECT
veld1,
veld2,
veld3
FROM
topic
WHERE
sub_id = '".intval($_GET['sub_id'])."'
ORDER BY
datum
DESC
";
# Result of query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result)
{
# Foutje in query
echo 'An error occured, error: '.mysql_error();
}
else
{
# Kijken of er wel resultaten zijn
if(mysql_num_rows($Result) == 0)
{
# Geen resultaten
echo 'No results found in database.';
}
else
{
# Loop uitvoeren
while($Row = mysql_fetch_assoc($Result))
{
# Kijken naar de status
if($Row['status'] == 2)
{
# Laat hier je stickies zien
}
ik begrijp dat order by nodig is, sorry vergeten te melden
maar die posts staan in een andere tabel hoe kan ik ordenen op iets dat in een andere tabel staat
ik dacht aan:
<?php
$sql = mysql_query("
SELECT
*
FROM
topic
WHERE
sub_id = '".mysql_real_escape_string($_GET['sub_id'])."'
ORDEN BY
(
SELECT
datum
FROM
posts
WHERE
sub_id = '".mysql_real_escape_string($_GET['sub_id'])."'
AND
topic_id = topic.id
ORDER BY
datum
DESC
)
");
?>
Ik ben niet echt een kei in mysql query's maar ik ga toch een poging wagen.
SELECT
a.veld1,
a.veld2,
b.veld1,
b.veld2
FROM
tabel1 AS a
INNER JOIN
tabel2 AS b
ON
b.ID = a.ID
WHERE
a.sub_id = '".intval($_GET['sub_id'])."'
ORDER BY
b.datum
DESC
Helaas, hij werkt niet...
Maar misschien licht het aan mijn invulling:
$sql = mysql_query("
SELECT
a.*,
b.*,
FROM
topic AS a
INNER JOIN
posts AS b
ON
b.topic_id = a.id
WHERE
a.sub_id = '".mysql_real_escape_string($_GET['sub_id'])."'
ORDER BY
b.datum
DESC
");
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/after-party.nl/after-party.nl/httpd.www/Forum/Topiclist.php on line 35
En
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/after-party.nl/after-party.nl/httpd.www/Forum/Topiclist.php on line 115