Flodnes Skrevet 18. mars 2012 Del Skrevet 18. mars 2012 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
hjahre Skrevet 19. mars 2012 Del Skrevet 19. mars 2012 (endret) 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 19. mars 2012 av hjahre Lenke til kommentar
BigJackW Skrevet 19. mars 2012 Del Skrevet 19. mars 2012 Ajax er vel det som brukes ja. Er rimelig simpelt. Spessielt om du bruker jQuery. Lenke til kommentar
Flodnes Skrevet 20. mars 2012 Forfatter Del Skrevet 20. mars 2012 Takk for svar. Får prøve ut det dere gav meg Lenke til kommentar
MikkelRev Skrevet 21. mars 2012 Del Skrevet 21. mars 2012 Eller du kan bruke paginering. Da slipper den å laste alle tusen kommentarer på en gang og laster bare f.eks. 30 kommentarer omgangen. Lenke til kommentar
Flodnes Skrevet 21. mars 2012 Forfatter Del Skrevet 21. mars 2012 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
masato Skrevet 3. mai 2012 Del Skrevet 3. mai 2012 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå