Avatar billede DGudiksen Nybegynder
09. oktober 2012 - 19:15 Der er 7 kommentarer

Hjælp til mysql sort bestemte

Hej eksperter, jeg har lavet en kommentar system til min hjemmeside, hvor en kommentar linker til et billede f.eks PictureID = 1.

Der skal så kun vises 10 kommentarer på hver side, hvilket vil sige jeg har sådan en streng her:

$page = 32 f.eks.

SELECT * FROM Picturecomments WHERE PictureID='$pictureid' ORDER BY ID DESC LIMIT $page,10

Så den finder kommentarer fra nummer 32 til 42 tilhørende det rigtige pictureID.

Jeg vil så gerne have at KUN de 10 post jeg finder der, skal sorteres yderligere, lige nu kommer de jo ud efter DESC, men vil gerne have dem ASC, men hvis jeg ændre det i min nuværende streng vil jeg jo bare få de POST som var postede tidligere :(.

Håber i kan hjælpe mig, i må sige hvis i ikke forstår mig, syntes det er lidt svært at formulere.
Avatar billede vagnk Juniormester
10. oktober 2012 - 09:58 #1
Vil det hjælpe med
PictureID > '$pictureid' og ASC i stede for DESC
Avatar billede olebole Juniormester
10. oktober 2012 - 15:26 #2
<ole>

"men hvis jeg ændre det i min nuværende streng vil jeg jo bare få de POST som var postede tidligere" >> Det forstår jeg ikke. Tidligere end hvad?

/mvh
</bole>
Avatar billede DGudiksen Nybegynder
10. oktober 2012 - 22:56 #3
Hej drenge, tak for svarende, vil lige prøve at formulere mig lidt anderledes så :)

Jeg har et billede som man kan kommenterer, lad os sige billedet har  39 kommentarer. Jeg henter så 10 kommentarer på hver side, det vil sige at på side 2 bliver der vist kommentar fra 11 til 21.

Jeg henter de post ved at bruge DESC Så den sortere fra den rigtige rækkefølge i mine kommentarer.

Når jeg så har hentet de 10 post frem, vil jeg gerne have dem sortere efter ASC, således at kommentar nummer 21 kommer først, så 20,19,18 osv osv.

Grunden til jeg ikke kan sætte ASC ind i min streng længere oppe,
er at så vil jeg jo få post på den forkerte side.
Avatar billede vagnk Juniormester
11. oktober 2012 - 09:15 #4
Kære DGudiksen
Det er stadig svært at forstå hvad du vil. Hvis jeg skal gætte ud fra dine oplysninger har du et antal billeder, hver med 'n' kommentarer, som, fornuftigt nok, ligger i en selvstændig tabel 'Picturecomments' identificeret med 'PictureID' og 'ID'.

Kommentarerne vil du vise 10 ad gangen i en eller anden orden sorteret på 'ID'. Jeg går ud fra at ID er sat på efterhånden som kommentarerne kommer ind, således at ID viser en slags tids-rækkefølge, så når du sorterer DESC vil du have de nyeste først, men på siden vil du vise de 10 med ældste først, eller med kommentarnummeret (ID) i naturlig rækkefølge (11,12,13...).

På første side vil du (ud fra dette) vise kommentarerne 32 - 22 som 23,24,25,26,27,28,29,30,31,32

Er alt dette rigtigt forstået?
Avatar billede DGudiksen Nybegynder
11. oktober 2012 - 17:17 #5
vagnk - Ja det er helt korrekt forstået. Og undskyld min dårlige forklaring, har bare så svært ved at forklarer hvad jeg mener nogle gange :P
Avatar billede olebole Juniormester
11. oktober 2012 - 19:53 #6
Er det ikke bare noget i stil med:

function listComments() {
    conect2db();
    $aHtml = array();
   
    $res = mysql_query('SELECT ... ...');
    while ($row=mysql_fetch_array($res)) {
        $aHtml[] = '<li>'.$row['id'].'</li>';
    }
    $aHtml = array_reverse($aHtml);
   
    return implode('', $aHTML);
}

- og så nede i HTML'en:

<ul>
<?php echo listComments() ?>
</ul>
Avatar billede DGudiksen Nybegynder
03. november 2012 - 23:29 #7
tak ole, det virkede. Gider du ligge et svar?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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