kvnirvana Posted September 8, 2010 Share Posted September 8, 2010 The pagination shows the the first 3 results, and makes link to the next 3 results, but when clicking next, it doesn't show a link to the next page if I want to see the last results. I've got a total of 8 results. the first page shows the first 3 results, when clicking next it show the next 3 results, but then there is no next link to see the last results. Anybody knows why? <?php session_start();?><html> <head> </head> <BODY> <?php /*------------------------------------------------------------------------ control codes ------------------------------------------------------------------------*/ if ( (isset($_POST['submit'])) or (isset($_GET['pg'])) ) { search(); //call the search function }else{ show_form(); //call the show form function }//end if /*------------------------------------------------------------------------ show the search form ------------------------------------------------------------------------*/ function show_form() { //call the dropdown function which creates an html string to build a select box for each element $be = dropdown('be','behan'); $omraede = dropdown('omraede','behan'); $pro = dropdown('pro','behan'); echo "<form name='search' action=".$_SERVER['PHP_SELF']." method='post'> <table width='50%' align='center' > <tr> <td colspan='2' align='center' style='font-family:verdana;font-size:130%;'><strong> </strong><br></br></td> </tr> <tr> <td align='right' style='font-family:verdana;font-size:110%;'>Behandler:</td><td><select name='be'style='font-size: 18px;'> ><option value='alle'>Alle</option> <option value='Fy'>Fy</option> <option value='Ki'>Ki</option> </td> </tr> </select> <tr> <td align='right' style='font-family:verdana;font-size:110%;'>Område:</td><td><select name='omraede' style='font-size: 18px;'><option value='alle'>Alle</option> <option value='F'>F</option> <option value='Sj'>Sj</option> <option value='jy'>Jy</option></td> </tr> </select> <tr> <td align='right' style='font-family:verdana;font-size:110%;'>Pro:</td><td><select name='pro' style='font-size: 18px;'><option value='alle'>Alle</option> <option value='yg'>yg</option> <option value='rm'>rm</option> <option value='f'>F</option> </td> </tr> </select> <td colspan='2' align='center'> </tr> <tr> <td colspan='2' align='center' ><input type='submit' name='submit' style='font-size: 15px;' value='Fin'></td> </tr> <tr> </td> <td style='position:absolute;right:18px;top:36px' 'tdimage' BACKGROUND='forside1.jpg' width='290' height='600'></td></tr> </table> </form>"; }//end function /*------------------------------------------------------------------------ run the search and show the results ------------------------------------------------------------------------*/ function search() { if (isset($_POST)) { foreach($_POST as $k=>$v) { $_SESSION[$k]=$v; }} //Pagination mysql_connect("localhost", "***", "****") or die(mysql_error()); mysql_select_db("*****") or die(mysql_error()); $getcount = mysql_query ("SELECT * FROM behan"); $postnum = mysql_result($getcount,0); $limit = 3; if($postnum > $limit) { $tagend = round($postnum % $limit,0); $splits = round(($postnum - $tagend)/$limit,0); if($tagend == 0) { $num_pages = $splits; } else { $num_pages = $splits + 1; } if(isset($_GET['pg'])) { $pg = $_GET['pg']; } else { $pg = 1; } $startpos = ($pg*$limit)-$limit; $limstring = "LIMIT $startpos,$limit"; } else { $limstring = "LIMIT 0,$limit"; } ///////////////////////////////////// $sql = "SELECT * FROM behan WHERE 1=1"; //get the values from the form //NOTE: You should do way more valdation on the values before you attempt to process anything if ((!empty($_SESSION['be']))&&($_SESSION['be'] != 'alle')) { $sql .= " and be like '". mysql_real_escape_string($_SESSION['be'])."%' "; } if ((!empty($_SESSION['omraede']))&&($_SESSION['omraede'] != 'alle')) { $sql .= " and omraede like '". mysql_real_escape_string($_SESSION['omraede'])."%' "; } if ((!empty($_SESSION['pro']))&&($_SESSION['pro'] != 'alle')) { $sql .= " and pro = '". mysql_real_escape_string($_SESSION['pro'])."' "; } // ADD ORDER BY $sql .= " GROUP BY na order by total_value DESC $limstring "; print "<table border=1>"; //run query $result = conn($sql); if (!$result){ die("No results due to database error.<br>".mysql_error()); } if (mysql_num_rows($result)==0 && ($result)!='alle') { echo "<p>No results!</p>"; } else{ echo "<TABLE width=100% height=300 border='0' cellpadding='5' cellspacing='10'>"; $first_run = "true"; while ($rows= mysql_fetch_array($result)) { echo "<TR>"; if ($first_run == "true"){ echo "<TH colspan='5' scope='colgroup'><p style='font-family:verdana;font-size:130%;text-align:center;'>Results: <scope='row'>"; if (($_SESSION['be'] == 'alle')&&($_SESSION['omraede'] == 'alle')&&($_SESSION['pro'] == 'alle')) { echo "alle" ; } if ($_SESSION['be'] != 'alle') { echo $rows['be'] ; } echo " "; if ($_SESSION['omraede'] != 'alle') { echo $rows['omraede'] ;} echo " "; if ($_SESSION['pro'] != 'alle') { echo $rows['pro'];} echo "</P></h1></Th>"; $first_run = "false"; } if($_SESSION['pro'] != 'alle'){ echo "<TR>"; echo "<TH scope='col' abbr='be'><p style='font-family:verdana;font-size:100%;text-align:justify;text-decoration:underline;'>Be</p></TH>"; echo "<TH scope='col' abbr='rating'><p style='font-family:verdana;font-size:100%;text-align:justify;text-decoration:underline;'>Rating</p></TH>"; echo "<TH scope='col'><p style='font-family:verdana;font-size:100%;text-align:justify;text-decoration:underline;'>Ko</p></TH>"; echo "</TR>"; echo "<TR>"; echo "<TD ALIGN=justify width=25% height=100 scope='row'><p style='font-family:verdana;font-size:100%;'>". $rows['be'] ."<br> ". $rows['na'] ."<br> ". $rows['ad'] ."<br> ". $rows['por'] .", ". $rows['y'] ."<br> ". $rows['tl'] ."</p></TD>"; echo "<TD ALIGN=justify width=50% height=100 scope='row'>". rating_bar($rows['id'],'6','static')."<p style='font-family:verdana;font-size:100%;'> <a href='bed.php?id={$rows['id']}&na={$rows['na']}&pro={$rows['pro']}&be={$rows['be']}&omraede={$rows['omraede']}&ad={$rows['ad']}&tl={$rows['tl']}&por={$rows['por']}'>Bed </a></p></TD>"; echo "<TD ALIGN=justify width=25% height=100 scope='row'><p style='font-family:verdana;font-size:100%;'><a href='kom.php?na={$rows['na']}&id={$rows['id']}&be={$rows['be']}'>Larer</a></p> </TD>"; echo "<TABLE width=100% height=100 border='0' cellpadding='5' cellspacing='10'><hr>"; echo "</TR>"; } else { echo "<TR>"; echo "<TH scope='col' abbr='be'><p style='font-family:verdana;font-size:100%;text-decoration:underline;text-align:justify;'>Be</p></TH>"; echo "<TH scope='col' abbr='rating'><p style='font-family:verdana;font-size:100%;text-decoration:underline;text-align:center;'>Rating</p></TH>"; echo "<TH scope='col'><p style='font-family:verdana;font-size:100%;text-decoration:underline;text-align:justify;'>Ko</p></TH>"; echo "</TR>"; echo "<TR>"; echo "<TD ALIGN=justify width=20% height=100 scope='row'><p style='font-family:verdana;font-size:100%;'>". $rows['be'] ."<br> ". $rows['na'] ."<br> ". $rows['ad'] ."<br> ". $rows['por'] .", ". $rows['y'] ."<br> ". $rows['tl'] ."</p></TD>"; echo "<TD ALIGN=center width=50% height=100 scope='row'><p style='font-family:verdana;font-size:100%;'><a href='bed.php?id={$rows['id']}&na={$rows['na']}&pro={$rows['pro']}&be={$rows['be']}&omraede={$rows['omraede']}&ad={$rows['ad']}&tl={$rows['tl']}&por={$rows['por']}'>Bed </a></p> </TD>"; echo "<TD ALIGN=justify width=40% height=100 scope='row'><p style='font-family:verdana;font-size:100%;'><a href='kom.php?na={$rows['na']}&id={$rows['id']}&be={$rows['be']}'>Larer</a></p> </TD>"; echo "<TABLE width=100% height=100 border='0' cellpadding='5' cellspacing='10'><hr>"; echo "</TR>"; } } } echo "</table>"; //////////////////////// Links for pagination if($postnum > $limit) { echo "<strong>Pages:</strong> "; $n = $pg + 1; $p = $pg - 1; $thisroot = $_SERVER['PHP_SELF']; ; if($pg > 1) { echo "<a href=\"$thisroot?pg=$p\"><< prev</a> "; } for($i=1; $i<=$num_pages; $i++) { if($i!= $pg) { echo "<a href=\"$thisroot?pg=$i\">$i</a> "; } else { echo "$i "; } } if($pg < $num_pages) { echo "<a href=\"$thisroot?pg=$n\">next >></a>"; } echo " "; } ///////////////// }//end function /*------------------------------------------------------------------------ create the drop downs ------------------------------------------------------------------------*/ function dropdown($field, $table) { //initialize variables $oHTML = ''; $result = ''; //check to see if the field is passed correctly if (($field == "")||($table == "")) { die("No column or table specified to create drop down from!"); } $sql = "select distinct($field) from $table"; //call the db function and run the query $result = conn($sql); //if no results are found to create a drop down return a textbox if ((!$result) ||(mysql_num_rows($result)==0)) { $oHTML .= "<input type='text' name='$field' value='' size='15'>"; } elseif (($result)&&(mysql_num_rows($result)>0)){ //build the select box out of the results $oHTML .= "<select name='$field'>\n<option onClick='alert(\"warning\")' value='alle' disabled>Alle</option>\n"; while ($rows = mysql_fetch_array($result)) { $oHTML .= "<option value='".$rows[$field]."'>".$rows[$field]."</option>\n"; } $oHTML .= "</select>\n"; } //send the value back to the calling code return $oHTML; }//end function ?> </body> Link to comment https://forums.phpfreaks.com/topic/212876-cant-get-pagination-to-work-properly/ Share on other sites More sharing options...
kvnirvana Posted September 14, 2010 Author Share Posted September 14, 2010 Anyone? Link to comment https://forums.phpfreaks.com/topic/212876-cant-get-pagination-to-work-properly/#findComment-1111062 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.