Flodnes Skrevet 18. mars 2012 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?
hjahre Skrevet 19. mars 2012 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
BigJackW Skrevet 19. mars 2012 Skrevet 19. mars 2012 Ajax er vel det som brukes ja. Er rimelig simpelt. Spessielt om du bruker jQuery.
Flodnes Skrevet 20. mars 2012 Forfatter Skrevet 20. mars 2012 Takk for svar. Får prøve ut det dere gav meg
MikkelRev Skrevet 21. mars 2012 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.
Flodnes Skrevet 21. mars 2012 Forfatter 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
masato Skrevet 3. mai 2012 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
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å