2010-03-28 37 views
0

中遇到了一些麻烦我的表正在发布,并在该表中显示了所有投递人员投入。 我正在尝试在帖子底部制作页面导航链接。 函数generateenter code here_page_links完成所有工作。在我的分页代码(PHP)

该代码似乎只显示“< - ”和“ - >”,而不是链接号码。我认为该函数只读取$ _GET ['posting'] == 1。

(此代码是从奥赖利PHP/MySQL的书,我用它作为实践)

function generate_page_links($cur_page, $num_pages) { 
    $page_links = ''; 

    // If this page is not the first page, generate the "previous" link 
    if ($cur_page > 1) { //cur_page is just a number that is gotten from the url. 
     $page_links .= '<a href="' . $_SERVER['PHP_SELF'] . '?page=' . ($cur_page - 1) . '"><--</a> '; 
    } 
    else { 
     $page_links .= '<- '; 
    } 

    // Loop through the pages generating the page number links 
    for ($i = 1; $i <= $num_pages; $i++) { 
     if ($cur_page == $i) { 
     $page_links .= ' ' . $i; 
     } 
     else { 
     $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?page=' . $i . '"> ' . $i . '</a>'; 
     } 
    } 

    // If this page is not the last page, generate the "next" link 
    if ($cur_page < $num_pages) { 
     $page_links .= ' <a href="' . $_SERVER['PHP_SELF'] . '?page=' . ($cur_page + 1) . '">-></a>'; 
    } 
    if ($cur_page == $num_pages){ //the last page 
     $page_links .= ' ->'; 
    } 

    return $page_links; //need to return this variable in the function 
    } 

    // Calculate pagination information 
    $cur_page = isset($_GET['page']) ? $_GET['page'] : 1; 
    $results_per_page = 3; // number of results per page 
    $skip = (($cur_page - 1) * $results_per_page); 


    $query = "SELECT * FROM posting ORDER BY date_added DESC"; 
    $data = mysqli_query($dbc, $query); 
    $total = mysqli_num_rows($data); 
    $num_pages = ceil($total/$results_per_page); 

    //Query again to get just the subset of results 
    $query = $query . " LIMIT $skip, $results_per_page"; 
    $result = mysqli_query($dbc, $query); 
    echo '<table>'; 
    echo '<tr><td><b>Title</b></td><td><b>Date Posted</b></td></tr>'; 
    while ($row = mysqli_fetch_array($result)) { 
     echo '<tr><td><a href="ad.php? 

    posting_id='.$row['posting_id'].' 

    ">'.$row['title'].'</a></td>'; 
    echo '<td>'.$row['date_added'].'</td>'; 
    //echo '<td>'.$row['name'].'</td></tr>'; 
    } 
echo '</table>'; 

    // Generate navigational page links if we have more than one page 
    if ($num_pages > 1) { 
    echo generate_page_links($user_search, $sort, $cur_page, $num_pages); 
    } 

回答

2

那么你在这里的一些问题入手:

你调用函数与4变量

echo generate_page_links($user_search, $sort, $cur_page, $num_pages); 

但函数只接受两个

function generate_page_links($cur_page, $num_pages) 

如果这是您正在使用的代码,那么它可能会崩溃,因为这些变量未定义。

尝试删除“$ user_search,$ sort,”并查看是否修复了它?

+0

谢谢!是的,这是问题所在。我再看看我的代码,也发现了这一点。摆脱了2个变量,现在它工作:) – ggfan 2010-03-28 21:40:44