Avatar billede heavybreezer Nybegynder
25. november 2004 - 23:14 Der er 4 kommentarer og
1 løsning

Vise senest nye post i mysql database

Dette spørgsmål er lidt tricky, men håber alligevel i kan hjælpe ;)

Here it goes.. Jeg har mit eget forum, og på forsiden hvor alle trådene bliver udskrevet, bliver de udskrevet så de er sorteret efter ID. Altså den nyeste tråd er øverst.

Men jeg vil nu gerne have sådan at den tråd, som har den nyeste post i sig, bliver vist øverst.

Min Mysql database ser sådan ud: http://www.heavybreezer.dk/sql.gif

Altså feltet 'parent' bestemmer om det er en tråd eller post.
Hvis det er en tråd er parent = 0

Jeg bruger denne kode indtil videre, men ville blive glad hvis nogen ville fikse den, så den var som jeg ønskede :)

<?php
include('config.php');
$query = mysql_query("SELECT id,header,name,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM forum WHERE parent=0 ORDER BY id DESC") or die(mysql_error());
if (mysql_num_rows($query) == 0) {
    echo '<font color=#FFFFFF>Der er ingen tråde i forummet!</font><br>';
} else {
    echo '<table style="border:1px solid #52667A;" width="100%" id="list"><tr>';
    echo '<td bgcolor="#000000" align=left  width="460" style="color:#FFFF80"><b>Emne</b></td><td align=left  bgcolor="#000000" width="200" style="color:#FFFF80" ><b>Startet af</b></td><td bgcolor="#000000"  style="color:#FFFF80"><b>Indlæg</b></td><td align=right  bgcolor="#000000" width="300"  style="color:#FFFF80"><b>Oprettet den</b></td>';
    echo '</tr>';
    while($row = mysql_fetch_assoc($query)) {
        echo '<tr>';
        echo "<td align=left width='460'  bgcolor=#C0C0C0><a href='laes.php?id=$row[id]'><b>$row[header]</b></font></a></td>";
        echo '<td align=left width="200"  bgcolor=#C0C0C0>'.$row['name'].'</font</td>';
        echo '<td  bgcolor=#C0C0C0>'.mysql_result(mysql_query("SELECT COUNT(*) FROM forum WHERE parent=$row[id]"),0).'</font</td>';
        echo '<td align=right width="300"  bgcolor=#C0C0C0>'.$row['date'].'</font</td>';
        echo '</tr>';
   
   
   
   
   
   
   
   
   
    }
    echo '</table>';
}
echo '<br>';

?>
Avatar billede hmortensen Nybegynder
25. november 2004 - 23:17 #1
SELECT id, header, name FROM parent WHERE parent != 0 ORDER BY date DESC LIMIT 1
Avatar billede jaw Nybegynder
25. november 2004 - 23:51 #2
Ved ikke hvordan du sætter 0-værdien, men:

SELECT id, header, name FROM parent WHERE parent IS NOT NULL ORDER BY date DESC LIMIT 1
Avatar billede heavybreezer Nybegynder
26. november 2004 - 17:40 #3
Det er jo det, problemet er.. min parent SKAL være 0, fordi det er kun de tråde som har parent=0, der skal udskrives.. men der skal sorteres efter de nyeste, som IKKE  har parent = 0
Avatar billede hmortensen Nybegynder
26. november 2004 - 20:22 #4
Tror du blir nødt til at lave to quries.
Det kunne være noget i den her retning:

$newpost = mysql_result(mysql_query("SELECT parent FROM forum WHERE parent != 0 ORDER BY date DESC LIMIT 1"), 0);

$new = mysql_query("SELECT * FROM forum WHERE id = ".$newpost);
Avatar billede heavybreezer Nybegynder
03. november 2005 - 07:49 #5
Fik det aldrig til at virke, men ellers tak.... Lukker nu :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester