Jump to content

[SOLVED] search pagination result


NSW42

Recommended Posts

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

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...

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..

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.