Avatar billede Xelot Nybegynder
22. august 2003 - 16:17 Der er 6 kommentarer og
1 løsning

Opdeling af tagwall

Hey.. hvordan gør jeg sådan at jeg kun får vist f.eks. 5 posts ad gangen på min tagwall..? Det skal være sådan at den viser 5 posts ad gangen, og så kan man klikke frem og tilbage.. jeg har prøvet med mysql sætningen WHERE id='1' AND id='2' men den virker ikke.. så hva gør jeg..?

koden:
<?
$get=mysql_query("SELECT navn,dato,besked,id FROM tagwall WHERE id='1' ORDER BY id DESC ");
while($data=mysql_fetch_array($get)){
echo "<tr><td width=\"50%\"><font face=\"verdana\" size=\"2\"><b>$data[0]</b> - $data[1]<br>
$data[2]<br><br></td></tr>";
}

?>
Avatar billede Slettet bruger
22. august 2003 - 16:18 #1
Avatar billede tipsen Nybegynder
22. august 2003 - 16:26 #2
Jeg har eks. lige lavet paging til et nyhedsarkiv - hvor skidtet er smidt i nogle funktioner:

/**
* GetNewsSQL()
*
* {Funktion der udfra forskellige inputparametre genererer en passende sql-sætning til at hente udvalgte nyheder}
*
* @param integer $newsnumber    - Antal nyheder der skal vises (0 henter alle nyheder)
* @param integer $daysold      - Hvor mange dage gamle må de viste nyheder maksimalt være (0 er ubegrænset)
* @param boolean $paging        - Skal der være "paging" på nyhedsvisningen - det bruges til at opdele mange nyheder på flere sider
* @param integer $page          - Hvis der er "paging" skal vi også bruge det aktuelle sidenr som input
*/
function GetNewsSQL($newsnumber = 0, $daysold = 0, $paging = false, $page = 1) {
    $sql = 'SELECT id, date, title, description FROM news ';
    if ($daysold > 0) {
        $sql .= "WHERE TO_DAYS(NOW()) - TO_DAYS(date) <= $daysold ";
    }
    $sql .= 'ORDER BY date DESC, id DESC';
    if ($newsnumber > 0 && !$paging) {
        $sql .= " LIMIT 0, $newsnumber";
    }
    elseif ($newsnumber > 0 && $paging) {
        $sql .= " LIMIT ".($page-1)*$newsnumber.", $newsnumber";
    }
    return $sql;
} // end func GetNewsSQL


/**
* Document::CreatePaging()
*
* { Description }
*
* @param integer $linktxt          - Den linktext der skal benyttes til at danne links - skal indeholde 3 stk. %s
* @param integer $total            - Det samlede antal poster der skal pages over
* @param integer $currentpage      - nuværende side - første side er side 1
* @param integer $perpage          - hvor mange poster skal der vises per side
* @param integer $maxpagelinks      - hvor mange sidelinks må der maks være på hver side af
*/
function CreatePaging($linktxt, $total, $currentpage = 1, $perpage = 5, $maxlinks = 11) {
    // Calculate last possible page
    $lastpage = ceil($total/$perpage);
    // Calculate maxlinks
    $maxpagelinks = (int) (($maxlinks-1)/2);
    // Initialise array used for navigation text fragments
    $navtxt = array();
   
    // Link to first page
    if ($currentpage - $maxpagelinks > 1) $navtxt[] = sprintf($linktxt, 'cid=12&page=1', 'Første side', '|<');
    // Link to previous page
    $navtxt[] = ($currentpage == 1) ? '<<' : sprintf($linktxt, 'cid=12&page='.($currentpage - 1), 'Forrige side', '<<');
    // Links to "middle" pages - limited by maxpagelinks
    for ($i = max(1, $currentpage - $maxpagelinks); $i <= min($currentpage + $maxpagelinks, $lastpage); $i++) {
        $navtxt[] = ($i == $currentpage) ? "[$i]" : sprintf($linktxt, "cid=12&page=$i", "Side $i", "[$i]");
    }
    // Link to next page
    $navtxt[] = ($perpage * $currentpage >= $total) ? '>>' : sprintf($linktxt, 'cid=12&page='.($currentpage + 1), 'Næste side', '>>');
    // Link to last page
    if ($currentpage + $maxpagelinks < $lastpage) $navtxt[] = sprintf($linktxt, "cid=12&page=$lastpage", 'Sidste side', '>|');

    return $navtxt;
}

Eksempel på brug:

$page=isset($_GET['page']) ? $_GET['page'] : null;
$totalnews = $db->getOne('SELECT COUNT(*) FROM news');
$newssql = GetNewsSQL(5, 60, true, $page);
$navigationtext = implode('&nbsp; &nbsp;', CreatePaging('<a href="index.php?%s" title="%s">%s</a>', $totalnews, $page, 5));
Avatar billede and_moe Nybegynder
22. august 2003 - 16:50 #3
Her er en god artikel om det: http://www.delfs.dk/articles/danish/Side123.php
Avatar billede Xelot Nybegynder
22. august 2003 - 17:01 #4
hansen.dk opret et svar hvis du vil ha point.. ;)
Avatar billede Slettet bruger
22. august 2003 - 17:07 #5
k. takket
Avatar billede Xelot Nybegynder
22. august 2003 - 17:42 #6
tak for hjælpen!!
Avatar billede robotten Praktikant
26. september 2003 - 09:41 #7
Er du flink lige at gennemgå dine åbne spm?
Der afventes feedback ;)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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