Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Back End Pagination is not working

  • This topic is empty.
Viewing 1 post (of 1 total)
  • Author
    Posts
  • #242010
    web_editor
    Participant

    I have custom page template in WordPress. This custom page template have a html table. I have a PHp snippet that create a pagination but it’s not working, it displayed the duplicate of the data from the database instead of display a numeric pagination

    How to fix this?

    Snippet update:

    <?php
    $per_page = 2;
    
    $row_count = $wpdb->get_var("SELECT COUNT(*) FROM resume_databank"); 
    $total_results = $wpdb->get_var($row_count);
    $total_pages = ceil($total_results / $per_page);
    
    if (isset($_GET['page'])) {
    $show_page = $_GET['page'];
        if ($show_page > 0 && $show_page <= $total_pages){
            $start = ($show_page - 1) * $per_page;
            $end = $start + $per_page;
        } else {
            $start = 0;
            $end = $per_page;
        }
    } else {
        $start = 0;
        $end = $per_page;
    }
        $page = intval($_GET['page']);
        $tpages=$total_pages;
        if ($page <= 0)
        $page = 1;
    
    $reload = $_SERVER['PHP_SELF'] . "?tpages=" . $tpages;
    echo '<div><ul>';
    if ($total_pages &gt; 1){
        echo paginate($reload, $show_page, $total_pages);
    }
        echo "</ul></div>";
    
    if (isset($_POST['list_position']) &amp;&amp; $_POST['list_position'] != 'Select by Position'){
        $list_position= $_POST['list_position'];
        $result_position= $wpdb-&gt;get_results($wpdb-&gt;prepare("SELECT DISTINCT id, submit_time, last_name, first_name, middle_name, mobile_number, email, location, position, message, attachment_resume_id FROM resume_databank WHERE position= '" . $list_position . "' ORDER BY position ASC", OBJECT));
            echo '&lt;table&gt;';
            echo '&lt;tr&gt;';
            $dir="";
            $file="";
            $optionId = 0;
            echo '&lt;th&gt;Submit Time&lt;/th&gt;';
            echo '&lt;th&gt;Last Name&lt;/th&gt;';
            echo '&lt;th&gt;First Name&lt;/th&gt;';
            echo '&lt;th&gt;Middle Name&lt;/th&gt;';
            echo '&lt;th&gt;Mobile Number&lt;/th&gt;';
            echo '&lt;th&gt;Email&lt;/th&gt;';
            echo '&lt;th&gt;Location&lt;/th&gt;';
            echo '&lt;th&gt;Position&lt;/th&gt;';
            echo '&lt;th&gt;Message&lt;/th&gt;';
            echo '&lt;th&gt;Resume&lt;/th&gt;';
            echo '&lt;th&gt;Processed?&lt;/th&gt;';
        for ($i = $start; $i &lt; $end; $i++){
            foreach ($result_position as $record_s){
                $optionId++;
                //$optionId = $record_s-&gt;id;
                echo '&lt;tr&gt;';
                echo '&lt;td id="submit_time"&gt;' . $record_s-&gt;submit_time . '&lt;/td&gt;';
                echo '&lt;td id="last_name"&gt;' . $record_s-&gt;last_name . '&lt;/td&gt;';
                echo '&lt;td id="first_name"&gt;' . $record_s-&gt;first_name . '&lt;/td&gt;';
                echo '&lt;td id="middle_name"&gt;' . $record_s-&gt;middle_name . '&lt;/td&gt;';
                echo '&lt;td id="mobile_number"&gt;' . $record_s-&gt;mobile_number . '&lt;/td&gt;';
                echo '&lt;td id="email"&gt;' . $record_s-&gt;email . '&lt;/td&gt;';
                echo '&lt;td id="location"&gt;' . $record_s-&gt;location . '&lt;/td&gt;';
                echo '&lt;td id="position"&gt;' . $record_s-&gt;position . '&lt;/td&gt;';
                echo '&lt;td id="message"&gt;' . $record_s-&gt;message . '&lt;/td&gt;';
                echo '&lt;td id="resumeFile'.$optionId.'"&gt;<a>attachment_resume_id) . '&gt;Download Resume</a>&lt;/td&gt;';
                echo '&lt;td id="radioOption&gt;&lt;label for="Yes"&gt;Yes&lt;/label&gt;
                          &lt;input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption" value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/&gt;
                          &lt;label for="No"&gt;No&lt;/label&gt;
                          &lt;input type="radio" id="processedOptionNo'.$optionId.'" name="processedOption" value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/&gt;&lt;/td&gt;';
                echo '&lt;/tr&gt;';
            }
                echo '&lt;/table&gt;';
        }
    }
    
    function paginate($reload, $page, $tpages){
    $adjacents = 2;
    $prevlabel = "&lsaquo; Prev";
    $nextlabel = "Next &rsaquo;";
    $out = "";
    // previous
    if ($page == 1){
        $out.= "<span>".$prevlabel."</span>\n";
    } elseif ($page == 2){
        $out.="<li><a>".$prevlabel."</a>\n</li>";
    } else {
        $out.="<li><a>".$prevlabel."</a>\n</li>";
    }
    
    $pmin=($page&gt;$adjacents)?($page - $adjacents):1;
    $pmax=($page&lt;($tpages - $adjacents))?($page + $adjacents):$tpages;
    
    for ($i = $pmin; $i &lt;= $pmax; $i++){
        if ($i == $page) {
            $out.= "&lt;li class=\"active\"&gt;<a href=''>".$i."</a></li>\n";
        } elseif ($i == 1) {
            $out.= "<li><a>".$i."</a>\n</li>";
        } else {
            $out.= "<li><a>".$i. "</a>\n</li>";
        }
    }
    
    if ($page&lt;($tpages - $adjacents)){
        $out.= "<a href="">" .$tpages."</a>\n";
    }
    
    if ($page &lt; $tpages){
        $out.= "<li><a>".$nextlabel."</a>\n</li>";
    } else {
        $out.= "<span style='font-size:11px'>".$nextlabel."</span>\n";
    }
        $out.= "";
        return $out;
    }
    ?&gt;
    
Viewing 1 post (of 1 total)
  • The forum ‘Back End’ is closed to new topics and replies.