Gå til innhold

[Løst] Show_more Show_less


Anbefalte innlegg

Hei, jeg har laget et kommentarsystem i php (noe likt facebook sitt). Jeg har nå et problem med at siden blir alt for lang hvis det er 10 kommentarer på vær post.

 

Jeg lurer da på, er det noen som vet hvordan jeg kan lage et show more show less script i php?

 

Jeg kan nok javascript til å lage en hidden-div med content osv. Men det er å få infoen til denne div-en.

 

Jeg har nå en sql-query som henter kommentarene fra databasen med en limit på 100. Jeg vil da vise de 3 nyeste kommentarene og resten ligger i show_more-div'en . Må jeg ha enda en query for å hente ut først 3 og så de resterende 97? eller er det en enklere/mer pro måte?

Lenke til kommentar
Videoannonse
Annonse

Har du prøvd å bruke AJAX? Med det kan du (så vidt jeg vet) hente informasjon fra en annen side og slenge det inn i en div. Sannsynligvis må du ha en ID på div-en du skal slenge informasjonen i. Jeg har ikke peiling på JavaScript og AJAX, men dette er hvertfall det jeg vet.

 

Når det gjelder SQL kan du bare slenge på

OFFSET number

i SQL-setninga di. Med PHP kan det bli noe liknende dette (psudokode):

 

Response showComments(int $offset, int $limit) {
   $query = "SELECT * FROM comments LIMIT $limit OFFSET $offset";
return formatJSON(runSQLQuery($query));
}

Merk at offset starter på 0

Endret av hjahre
Lenke til kommentar

Eller du kan bruke paginering. Da slipper den å laste alle tusen kommentarer på en gang og laster bare f.eks. 30 kommentarer omgangen.

 

Ah, dette hadde jeg ikke tenkt på. Tror jeg vil få dette bedre til enn å gamble med ajax. Takk for svar

Lenke til kommentar
  • 1 måned senere...

Jeg har ikke prøvd dette, så ikke skyt om det ikke fungerer, men i queryet til databasen kan kanskje dette gjøres?:

//antall treff som skal vises
$shown = 3;
// Query
$sql = 'SELECT * FROM comments LIMIT 0,'.$shown;
//Så kan det legges til flere ved å trykke f.eks en knapp/link som kaller en funksjon som kun øker variabelen $shown

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...