Jeg har en nyheds side der henter en nyhed fra mysql...
Da der er mulighed for at trykke næste og sidste vil jeg gerne at der tjekkes om det næste id er tomt, og hvis det er så finder det næste ikke tomme id.
Altså forestil jer at nyhed med id 3 og 4 slettes, så vil jeg gerne at man i stedet for at skulle forbi 2 tomme sider hopper til id 5..
Sådan ser det ud nu, men kan ikke helt få mit loop til at gøre det rigtigt uden at kalde op til databasen hver gang i loopet..
Og hvis der evt er bedre måder at finde max og minid så jeg ikke skal have alle mine opkald til db tager jeg meget gerne mod forslag der også
<?php $tbl_name="news";
//Valgte id $id=$_GET['id'];
//Sæt næste og sidste nyhed $lastid = $_GET['id']-1; $nextid = $_GET['id']+1;
//Find mindste id $sqlmin="SELECT id FROM $tbl_name ORDER BY id LIMIT 1"; $resultmin=mysql_query($sqlmin); $rowsmin=mysql_fetch_array($resultmin); $minid=$rowsmin['id'];
//Find største id $sqlmax="SELECT id FROM $tbl_name ORDER BY id DESC LIMIT 1"; $resultmax=mysql_query($sqlmax); $rowsmax=mysql_fetch_array($resultmax); $maxid=$rowsmax['id'];
//Hent indhold om valgte id $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result);
Bare for at være sikker på du forstår hvad jeg vil lave forklarer jeg den lige igen..
På min nyhedsside vises min seneste nyhed, og ikke andre nyheder. Man kan trykke næste og sidste, hvilket loader den tidligere nyhed eller den næste nyhed. Mit problem er hvis der bliver slettet en nyhed, så vil der blive vist en tom nyhed når dets id er som valgt.
derfor vil jeg gerne finde det næste id som ikke er tomt..
Hvis det også er det du mener jeg kan bruge limit og paging til, så er jeg bare ikke helt med på hvordan.. :)
limit henter y antal resultater ud startende fra x - i mit eksempel hentes altså én post ud og der springes 0 resultater over. på den måde får du med de to SQL'er det id der ligger henholdsvis lige før og lige efter dit where-id.
man kan gøre mange ting, men det skal også være en opvejelse af performance - at hive samtlige poster fra en tabel ud kan være en fin løsning hvis der kun ligger 10 poster, men hvad hvis der ligger 1 mio poster.
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.