Go Back   CodingForums.com > :: Server side development > PHP

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 05-27-2012, 10:38 PM   PM User | #1
viddz
New Coder

 
Join Date: Apr 2012
Posts: 95
Thanks: 50
Thanked 0 Times in 0 Posts
viddz is an unknown quantity at this point
Pagination problem

It shows 1st page results and also number of pages are also shown. But i cant get results for the other pages. This problem was arisen after i have added new option to select table which Iam going to paginate.

here is my code
PHP Code:


<?php 
if(isset($_POST['submit'])) 

session_start(); 



      include(
"config.php"); 

    
$tableName=mysql_real_escape_string($_POST['lab']);     

         
    
$targetpage "view_all_chemical.php";      
    
$limit 5
     
    
$query "SELECT COUNT(*) as num FROM $tableName"
    
$total_pages mysql_fetch_array(mysql_query($query)); 
    
$total_pages $total_pages[num]; 
     
    
$stages 3
    
$page mysql_escape_string($_GET['page']); 
    if(
$page){ 
        
$start = ($page 1) * $limit
    }else{ 
        
$start 0;     
        }     
     
    
// Get page data 
    
$query1 "SELECT * FROM $tableName LIMIT $start, $limit"
    
$result mysql_query($query1); 
     
    
// Initial page num setup 
    
if ($page == 0){$page 1;} 
    
$prev $page 1;     
    
$next $page 1;                             
    
$lastpage ceil($total_pages/$limit);         
    
$LastPagem1 $lastpage 1;                     
     
     
    
$paginate ''
    if(
$lastpage 1
    {     
     

     
     
        
$paginate .= "<div class='paginate'>"
        
// Previous 
        
if ($page 1){ 
            
$paginate.= "<a href='$targetpage?page=$prev'>previous</a>"
        }else{ 
            
$paginate.= "<span class='disabled'>previous</span>";    } 
             

         
        
// Pages     
        
if ($lastpage + ($stages 2))    // Not enough pages to breaking it up 
        
{     
            for (
$counter 1$counter <= $lastpage$counter++) 
            { 
                if (
$counter == $page){ 
                    
$paginate.= "<span class='current'>$counter</span>"
                }else{ 
                    
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                     
            } 
        } 
        elseif(
$lastpage + ($stages 2))    // Enough pages to hide a few? 
        

            
// Beginning only hide later pages 
            
if($page + ($stages 2))         
            { 
                for (
$counter 1$counter + ($stages 2); $counter++) 
                { 
                    if (
$counter == $page){ 
                        
$paginate.= "<span class='current'>$counter</span>"
                    }else{ 
                        
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                     
                } 
                
$paginate.= "..."
                
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>"
                
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";         
            } 
            
// Middle hide some front and some back 
            
elseif($lastpage - ($stages 2) > $page && $page > ($stages 2)) 
            { 
                
$paginate.= "<a href='$targetpage?page=1'>1</a>"
                
$paginate.= "<a href='$targetpage?page=2'>2</a>"
                
$paginate.= "..."
                for (
$counter $page $stages$counter <= $page $stages$counter++) 
                { 
                    if (
$counter == $page){ 
                        
$paginate.= "<span class='current'>$counter</span>"
                    }else{ 
                        
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                     
                } 
                
$paginate.= "..."
                
$paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>"
                
$paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>";         
            } 
            
// End only hide early pages 
            
else 
            { 
                
$paginate.= "<a href='$targetpage?page=1'>1</a>"
                
$paginate.= "<a href='$targetpage?page=2'>2</a>"
                
$paginate.= "..."
                for (
$counter $lastpage - (+ ($stages 2)); $counter <= $lastpage$counter++) 
                { 
                    if (
$counter == $page){ 
                        
$paginate.= "<span class='current'>$counter</span>"
                    }else{ 
                        
$paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";}                     
                } 
            } 
        } 
                     
                
// Next 
        
if ($page $counter 1){ 
            
$paginate.= "<a href='$targetpage?page=$next'>next</a>"
        }else{ 
            
$paginate.= "<span class='disabled'>next</span>"
            } 
             
                 
    
$paginate.= "</div>"
     



// get results from database 
     //   $result = mysql_query("SELECT * FROM members") 
       //         or die(mysql_error());   
                 
        // display data in table           
        
echo "<table id='table1'>"
        echo 
"<tr> <th>Name</th> <th>Code</th> <th>Quantity</th> <th>Reorder</th><th>Edit</th><th>Delete</th><th>Stock</th>  </tr>"

        
// loop through results of database query, displaying them in the table 
        
while($row mysql_fetch_array$result )) 
        { 
                 
                
// echo out the contents of each row into a table 
                
echo "<tr>"
                echo 
'<td><span  class="class1"> 
                          <a href="chemicalprofile.php?id=' 
$row['id'] . '"> '$row['generalname'] . '</a></span></td>'
                echo 
'<td>' $row['Scientificname'] . '</td>'
                echo 
'<td>' $row['quantity'] . '</td>'
                echo 
'<td>'$row['reorder'] . '</td>'
                echo 
'<td><a href="editchemical.php?id=' $row['id'] . '">Edit</a></td>'
                echo 
'<td><a href="delete_chemical.php?id=' $row['id'] . '">Delete</a></td>'
                echo 
'<td><a href="stock_chemical.php?id=' $row['id'] . '">Stock</a></td>'
                
//echo '<td><a href="edituser.php?id=' . $row['id'] . '">Edit</a></td>'; 
                //echo '<td><a href="delete_user.php?id=' . $row['id'] . '">Delete</a></td>'; 
                
echo "</tr>"
                 
         
        } 
       echo 
"</table>"
echo 
$paginate
         

         


    
?> 
<form action="view_all_chemical.php" method="post" name="view_form"> 
             <select name="lab"> 
                <option value="0">Select Lab</option> 
                <option value="chemical_advancechemistrylab">Advance Chemistry Lab</option> 
                <option value="chemical_biochemistrylab">Bio Chemistry Lab</option> 
                <option value=" chemical_elimentorylab">Elementry Lab</option> 
                <option value="chemical_innorganiclab">Innorganic Lab</option> 
                <option value="chemical_newbiochemistrylab">New Biochemistry Lab</option> 
                <option value="chemical_oraganiclab">Organic Lab</option> 
                <option value="chemical_phamacylab">Pharmacy Lab</option> 
                <option value="chemical_physicallab">Physical Lab</option> </select> 
                <input type="submit" name="submit" value="Select lab"/></form>
viddz is offline   Reply With Quote
Old 05-28-2012, 09:00 AM   PM User | #2
abduraooft
Supreme Master coder!

 
abduraooft's Avatar
 
Join Date: Mar 2007
Location: N/A
Posts: 14,678
Thanks: 158
Thanked 2,182 Times in 2,169 Posts
abduraooft is just really niceabduraooft is just really niceabduraooft is just really niceabduraooft is just really niceabduraooft is just really nice
Quote:
PHP Code:
$tableName=mysql_real_escape_string($_POST['lab']); 
Why do you need to get the table name from user input?
Quote:
PHP Code:
$page mysql_escape_string($_GET['page']); 
How do you assume you page would have both POST and GET at the same time?
__________________
Quote:
The Dream is not what you see in sleep; Dream is the thing which doesn't let you sleep. --(Dr. APJ. Abdul Kalam)
abduraooft is offline   Reply With Quote
Users who have thanked abduraooft for this post:
viddz (05-28-2012)
Old 05-28-2012, 10:15 AM   PM User | #3
viddz
New Coder

 
Join Date: Apr 2012
Posts: 95
Thanks: 50
Thanked 0 Times in 0 Posts
viddz is an unknown quantity at this point
because there are 10 labs for each and every lab there is a table. User need to choose a lab table to view edit delete items in that table
viddz is offline   Reply With Quote
Old 05-28-2012, 10:23 AM   PM User | #4
abduraooft
Supreme Master coder!

 
abduraooft's Avatar
 
Join Date: Mar 2007
Location: N/A
Posts: 14,678
Thanks: 158
Thanked 2,182 Times in 2,169 Posts
abduraooft is just really niceabduraooft is just really niceabduraooft is just really niceabduraooft is just really niceabduraooft is just really nice
There's a security issue in your current code logic to read the table name from user input.

Anyway, regarding your pagination, when the user click on the next/prev link in your page, there won't be any POST data present in the page. You might need to change the form's method to GET and then include the lab parameter in the links, along with page number.
__________________
Quote:
The Dream is not what you see in sleep; Dream is the thing which doesn't let you sleep. --(Dr. APJ. Abdul Kalam)
abduraooft is offline   Reply With Quote
Users who have thanked abduraooft for this post:
viddz (05-28-2012)
Old 05-28-2012, 12:43 PM   PM User | #5
viddz
New Coder

 
Join Date: Apr 2012
Posts: 95
Thanks: 50
Thanked 0 Times in 0 Posts
viddz is an unknown quantity at this point
I have make post method to get method. But i cannot understand what are saying here.

Quote:
Originally Posted by abduraooft View Post
then include the lab parameter in the links, along with page number.
This is my 1st php project. not familier with it very much. Can u pls tell me where should i include lab parameter in the links, along with page number.

Is it here
PHP Code:
          <a href="chemicalprofile.php?id=' . $row['id'] . '"'. $row['generalname'] . '</a></span></td>';
                echo '
<td>' . $row['Scientificname'] . '</td>';
                echo '
<td>' . $row['quantity'] . '</td>';
                echo '
<td>'. $row['reorder'] . '</td>';
                echo '
<td><a href="editchemical.php?id=' . $row['id'] . '">Edit</a></td>';
                echo '
<td><a href="delete_chemical.php?id=' . $row['id'] . '">Delete</a></td>';
                echo '
<td><a href="stock_chemical.php?id=' . $row['id'] . '">Stock</a></td>; 
viddz is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:58 AM.


Advertisement
Log in to turn off these ads.