NSW42 Posted November 15, 2008 Share Posted November 15, 2008 Heya, Ive coded up a user gender age search script and with pagination, search works fine its the pagination im having trouble with, set max result doesnt seem to be working, its set on 5 but but will show over that amount set, if anyone has any ideas on whats wrong, would be appreciated. Regards <?php // Database Connection // If current page number, use it // if not, set one! if(!isset($_GET['page'])){ $page = 1; } else { $page = $_GET['page']; } // Define the number of results per page $max_results = 5; // Figure out the limit for the query based // on the current page number. $from = (($page * $max_results) - $max_results); $check = $_POST['check']; $gender = $_POST['gender']; $agemin = $_POST['agemin']; $agemax = $_POST['agemax']; if ($check == "") { print(" <form action='.$PHP_SELF' method='post' name=s_form onSubmit='document.s_form.s_submit.disabled=true'> I'm looking for a: <select name='gender'> <option value='Male'>Male</option> <option value='Female'>Female</option> </select> <br><br> Age Range: <select name='agemin'> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> <option value='25'>25</option> <option value='26'>26</option> <option value='27'>27</option> <option value='28'>28</option> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> <option value='32'>32</option> <option value='33'>33</option> <option value='34'>34</option> <option value='35'>35</option> <option value='36'>36</option> <option value='37'>37</option> <option value='38'>38</option> <option value='39'>39</option> <option value='40'>40</option> <option value='41'>41</option> <option value='42'>42</option> <option value='43'>43</option> <option value='44'>44</option> <option value='45'>45</option> <option value='46'>46</option> <option value='47'>47</option> <option value='48'>48</option> <option value='49'>49</option> <option value='50'>50</option> <option value='51'>51</option> <option value='52'>52</option> <option value='53'>53</option> <option value='54'>54</option> <option value='55'>55</option> <option value='56'>56</option> <option value='57'>57</option> <option value='58'>58</option> <option value='59'>59</option> <option value='60'>60</option> <option value='61'>61</option> <option value='62'>62</option> <option value='63'>63</option> <option value='64'>64</option> <option value='65'>65</option> <option value='66'>66</option> <option value='67'>67</option> <option value='68'>68</option> <option value='69'>69</option> <option value='70'>70</option> <option value='71'>71</option> <option value='72'>72</option> <option value='73'>73</option> <option value='74'>74</option> <option value='75'>75</option> <option value='76'>76</option> <option value='77'>77</option> <option value='78'>78</option> <option value='79'>79</option> <option value='80'>80</option> <option value='81'>81</option> <option value='82'>82</option> <option value='83'>83</option> <option value='84'>84</option> <option value='85'>85</option> <option value='86'>86</option> <option value='87'>87</option> <option value='88'>88</option> <option value='89'>89</option> <option value='90'>90</option> <option value='91'>91</option> <option value='92'>92</option> <option value='93'>93</option> <option value='94'>94</option> <option value='95'>95</option> <option value='96'>96</option> <option value='97'>97</option> <option value='98'>98</option> <option value='99'>99</option> </select> <input type='hidden' name='check' value='checked'> to <select name='agemax'> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> <option value='25'>25</option> <option value='26'>26</option> <option value='27'>27</option> <option value='28'>28</option> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> <option value='32'>32</option> <option value='33'>33</option> <option value='34'>34</option> <option value='35'>35</option> <option value='36'>36</option> <option value='37'>37</option> <option value='38'>38</option> <option value='39'>39</option> <option value='40'>40</option> <option value='41'>41</option> <option value='42'>42</option> <option value='43'>43</option> <option value='44'>44</option> <option value='45'>45</option> <option value='46'>46</option> <option value='47'>47</option> <option value='48'>48</option> <option value='49'>49</option> <option value='50'>50</option> <option value='51'>51</option> <option value='52'>52</option> <option value='53'>53</option> <option value='54'>54</option> <option value='55'>55</option> <option value='56'>56</option> <option value='57'>57</option> <option value='58'>58</option> <option value='59'>59</option> <option value='60'>60</option> <option value='61'>61</option> <option value='62'>62</option> <option value='63'>63</option> <option value='64'>64</option> <option value='65'>65</option> <option value='66'>66</option> <option value='67'>67</option> <option value='68'>68</option> <option value='69'>69</option> <option value='70'>70</option> <option value='71'>71</option> <option value='72'>72</option> <option value='73'>73</option> <option value='74'>74</option> <option value='75'>75</option> <option value='76'>76</option> <option value='77'>77</option> <option value='78'>78</option> <option value='79'>79</option> <option value='80'>80</option> <option value='81'>81</option> <option value='82'>82</option> <option value='83'>83</option> <option value='84'>84</option> <option value='85'>85</option> <option value='86'>86</option> <option value='87'>87</option> <option value='88'>88</option> <option value='89'>89</option> <option value='90'>90</option> <option value='91'>91</option> <option value='92'>92</option> <option value='93'>93</option> <option value='94'>94</option> <option value='95'>95</option> <option value='96'>96</option> <option value='97'>97</option> <option value='98'>98</option> <option value='99'>99</option> </select> <br><br> <input type='submit' value='Search!' name='s_submit'> "); } if ($check == "checked") { $sql = mysql_query("SELECT * FROM users WHERE gender = '$gender' AND age>='$agemin' AND age<='$agemax'") or die(mysql_error()); while($row = mysql_fetch_array($sql)) { $pronickx = $row[nickname]; $pronickp = bin2hex($row[nickname]); if ($row[pro_pic] == "") { $memberpic = 'images/nophotobig.gif'; } if ($row[pro_pic] != "") { $memberpic = $row[pro_pic]; } print(" <tr> <td class='content'><img src='$memberpic' border=0 width=100 height=100 ALIGN=LEFT> <A href='.php?epuid=$pronickp'target='_blank'>$pronickx</a> <font color='red'>$row[gender]</font><br><br> $row[age], $row[marital] - from $row[local]<br><br> <br><br><br><br> "); print (" </td> </tr> "); } } // Figure out the total number of results in DB: $total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM users WHERE gender LIKE '$gender' AND age>='$agemin' AND age<='$agemax'"),0); // Figure out the total number of pages. Always round up using ceil() $total_pages = ceil($total_results / $max_results); // Build Page Number Hyperlinks echo "<center>Select a Page<br />"; // Build Previous Link if($page > 1){ $prev = ($page - 1); echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\">Previous</a> "; } for($i = 1; $i <= $total_pages; $i++){ if(($page) == $i){ echo "$i "; } else { echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> "; } } // Build Next Link if($page < $total_pages){ $next = ($page + 1); echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Next</a>"; } echo "</center>"; ?> Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/ Share on other sites More sharing options...
NSW42 Posted November 16, 2008 Author Share Posted November 16, 2008 ok ive sold the result issue, but now if you click next page, its shows no results and the seach form is on that page, hmm lol any ideas as to why this happens ? Thanks Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691060 Share on other sites More sharing options...
bobbinsbro Posted November 16, 2008 Share Posted November 16, 2008 dude, use code tags... and could you post the newer version of the code (after you solved the first problem)? Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691212 Share on other sites More sharing options...
BK87 Posted November 16, 2008 Share Posted November 16, 2008 I looked at your html heh... but anyway I don't have a result for your issue with paging, maybe next time I log on here, but I'd like to point out this little trick for "listing" for($i=18;$i<90;$i++){ echo "<option value='$i'>$i</option>"; } just quicker... Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691214 Share on other sites More sharing options...
NSW42 Posted November 16, 2008 Author Share Posted November 16, 2008 thanks bk, as for the 1st issue, i just added in limit and max results in the 1st query, the pagination code works great with just members being called, but now I decided to use it with the search gender script i knocked up and thats the issue now, click 2nd page and no results and if u click back, just returns to the search form.. Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691215 Share on other sites More sharing options...
BK87 Posted November 16, 2008 Share Posted November 16, 2008 $lim=$page*$max_results; $offset=$page*$max_results+$max_results; $sql = mysql_query("SELECT * FROM users WHERE gender = '$gender' AND age>='$agemin' AND age<='$agemax' limit $lim, $offset") or die(mysql_error()); try that Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691219 Share on other sites More sharing options...
NSW42 Posted November 16, 2008 Author Share Posted November 16, 2008 links to next page dont show up when added in.. Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691225 Share on other sites More sharing options...
NSW42 Posted November 16, 2008 Author Share Posted November 16, 2008 actually i screwed up and put it in the wrong place :-\ anyways in the right spot now and the result is that it screws up the search results.. Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691228 Share on other sites More sharing options...
NSW42 Posted November 17, 2008 Author Share Posted November 17, 2008 just one bump to see if it can be solved, if not im going to scrap it as im at a loss. Thanks Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-691748 Share on other sites More sharing options...
NSW42 Posted November 17, 2008 Author Share Posted November 17, 2008 ive searched everywhere for a fix and seems like im not alone out there with this issue, surely someone knows that can help ??? Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-692317 Share on other sites More sharing options...
NSW42 Posted November 18, 2008 Author Share Posted November 18, 2008 scrapped it, to many headaches and no pills to fix it Link to comment https://forums.phpfreaks.com/topic/132890-solved-search-pagination-result/#findComment-692531 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.