pagination /sql resullt werkt niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Shyaak Nana

Shyaak Nana

27/04/2012 13:56:44
Quote Anchor link
Beste vrienden.

Ik kom er niet uit.
o.a. 4 pagina's/scripts: zoek.php; settings.php; pagina.php; resultaat.php.
Ik heb pagination ingevoegd. Dit werkt op zich prima voor de totale resultaat uit de database.
Maar op het moment ik regionaal ga zoeken ontstaan er problemen.
De script zoek de regionale resultaten en past pagination ook toe. Het probleem is echter dat als ik op volgende klik (pagination) of een van de nummers van de pagina's waaruit het resultaat bestaat, dan springt het terug naar de zegmaar landelijke variant. Dus in plaats van pagina 2 van het regionale resulaat, verschijnt de totale resultaat.


Wie weet een oplossing?

Ik zet hieronder de scripts.

Zoek.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<style type="text/css">
<!--
.style2 {
    color: #FF0;
    font-size: 14px;
    text-decoration: underline;
    }
.style3 {
    color: #FFF;
    font-size: 13px;
}
.style4 {
    color: #000;
    font-size: 14px;
}
-->
</style>
<form action="resultaat.php" method="POST">
<form action="settings.php" method="POST">

  <table width="220" align="right"  border="0" cellspacing="2" cellpadding="0">
  <tr>
    <td  height="25" bordercolor="#ffffff" class="style2">resultaat regionaal </td>

     </tr>
  <tr>
    <td  height="5" bordercolor="#ffffff" class="style3"></td>
  </tr>
  <tr>
    <td  height="10" bordercolor="#ffffff"
    class="style4"><select name="regio" >
      <option value=""  selected="selected">Kies regio </option>
      <option value="drenthe">Drenthe</option>
      <option value="flevoland">Flevoland</option>
      <option value="friesland">Friesland</option>
      <option value="gelderland">Gelderland</option>
      <option value="groningen">Groningen</option>
      <option value="limburg">Limburg</option>
      <option value="noord-brabant">Noord-brabant</option>
      <option value="noord-Holland">Noord-Holland</option>
      <option value="overijssel">Overijssel</option>
      <option value="utrecht">Utrecht</option>
      <option value="zeeland">Zeeland</option>
      <option value="zuid-holland">Zuid-holland</option>
    </select></td>
    </tr>
  <tr>
    <td  width="174"  height="5px"></td>
    </tr>
  <tr>
    <td  height="5" bordercolor="#ffffff"
     class="style3" ><span class="style4">
      
      <input type="text" name="plaats" value="<?php if(isset($_POST['plaats'])){ echo $_POST['plaats']; } else { echo 'en/of plaats'; }?>" width='150'onclick="this.value='';" height="15px"/>
      
    </span></td>
    </tr>
  <tr>
    <td width="174"  

     height="5px"></td>
  </tr>
  <tr>
    <td bordercolor="#ffffff"
     class="style3" ><span class="style4">
      <input name="image" type="image" src="images/zoekknopzwart.png" alt="Submit Form" width="80" height="20" border="0" />
    </span></td>
  </tr>
  </table>
</form>




settings.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<?php
/* Database instellingen */

# Hostnaam, meestal localhost

$hostname = "localhost";

# Gebruikersnaam
$username = "xxxx";

# Wachtwoord
$password = "xxxxx";

# Database
$database = "ballonnen";


$regio = $_REQUEST['regio'];
$plaats = $_REQUEST['plaats'];

# Database connectie maken
mysql_connect($hostname,$username,$password) or die(mysql_error());

# Database selecteren
mysql_select_db($database);

/* Einde database instellingen */


/* Script Instellingen */

# Maximaal aantal per pagina

$eachPage = 15;
 
 
# Sql met limit

if($regio != "" && $plaats == "")

$sql = "SELECT * FROM ballonnen1 WHERE type = 'nylonballonnen' AND regio = '$regio'  ORDER BY 'naam' limit ".($page*$eachPage).','.$eachPage;

elseif($regio != "" && $plaats == "en/of plaats")

$sql = "SELECT * FROM ballonnen1 WHERE type = 'nylonballonnen' AND regio = '$regio'  ORDER BY 'naam' limit ".($page*$eachPage).','.$eachPage;

else

$sql = "SELECT * FROM ballonnen1 WHERE type = 'nylonballonnen' ORDER BY 'naam' limit ".($page*$eachPage).','.$eachPage;

# Sql zonder limit

if($regio != "" && $plaats == "")

$sql_count = "SELECT * FROM ballonnen1 WHERE type = 'nylonballonnen' AND regio = '$regio'  ORDER BY 'naam'";

elseif($regio != "" && $plaats == "en/of plaats")

$sql_count = "SELECT * FROM ballonnen1 WHERE type = 'nylonballonnen' AND regio = '$regio'  ORDER BY 'naam'";

else
$sql_count = "SELECT * FROM ballonnen1 WHERE type = 'nylonballonnen' ORDER BY 'naam'";

/* Einde script instellingen */
?>


</body>
</html>


Pagina.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<link href="xxxx.css" rel="stylesheet" type="text/css" />
</head>

<body>

<?php
error_reporting(E_ALL);

# Kijken of er al een get bestaat
if(isset($_GET['page']) AND ctype_digit($_GET['page'])) {

    # Set page limit begin
    $page = $_GET['page'];    
}

else{

    # Set page limit begin als 0
    $page = 0;    
}


# Include de instellingen
include('settings.php');

# Query uitvoeren
if(!$res = mysql_query($sql)) {
    
    # Fout in query
  trigger_error(mysql_error().'<br />In query: '.$sql);
}

elseif(mysql_num_rows($res) == 0) {
    
    # Geen resultaat uit query
  echo 'Geen resultaten gevonden';
}

else {
    
    # Iedere record uitvoeren
while(list($id, $type, $naam, $positie, $website, $websitenaam, $regio, $postcode, $plaats, $adres, $telefoonnummer) = mysql_fetch_row($res))
{
  echo "<div id='tabeldiv'>
         <a href='$website' target='_blank'>
         <div id='naam'>$naam </div>
         <div id='adres'>$adres </div>
         <div id='postcode'>$postcode </div>
         <div id='plaats'>$plaats </div>
         <div id='telefoonnummer'>$telefoonnummer</div>
         </a>
         </div>"
;
}

  
  if($res = mysql_query($sql_count)) {
      
      # Aantal resultaten
      $results = mysql_num_rows($res);
    }

  # Aantal pagina's
  $pages = ceil($results / $eachPage);
  
  # Vorige knop maken
  if($page > 0) {
      
      echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page-1).'">[Vorige]</a>';
  }

  else{
      
      echo '[Vorige]';
  }

  
  # Pagina's maken
  for($i = 1; $i <= $pages; $i++)    {
      
        # Pagina cijfer linkjes aanmaken
      echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($i-1).'">'.$i.'</a>';
    }

    
    # Volgende knop maken
  if(($page+1) <= ($results/$eachPage)) {
      
      echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page+1).'">[Volgende]</a>';
  }

  else{
      
      echo '[Volgende]';
  }
}

?>

</body>
</html>


Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 27/04/2012 14:43:39 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

28/04/2024 05:27:08
 
- Ariën  -
Beheerder

- Ariën -

27/04/2012 14:08:14
Quote Anchor link
Even een andere vraag: Waarom heet je tabel: Ballonnen1? Ik neem aan dat er toch geen tweede genummerde tabel is?
 
Shyaak Nana

Shyaak Nana

27/04/2012 14:35:45
Quote Anchor link
Hoi Aar,
Ik heb ballonnen als vb hier geplaatst. Ballonnen is de naam van de database en ballonnen1 is de tabelnaam.
Gewijzigd op 27/04/2012 14:36:46 door Shyaak Nana
 
- Ariën  -
Beheerder

- Ariën -

27/04/2012 14:40:05
Quote Anchor link
Maar er is toch geen ballonnen2 als tabelnaam etc..?

Want in dat geval ben je fout bezig.
 
Shyaak Nana

Shyaak Nana

27/04/2012 17:49:52
Quote Anchor link
Hoi aar. Dat is niet het geval
 
Jan Koehoorn

Jan Koehoorn

27/04/2012 20:58:11
Quote Anchor link
Als je naar een nieuwe pagina gaat, staat je selectbox weer op de standaardwaarde. Je moet op de een of andere manier dus onthouden welke waarde $regio heeft. Dat zou kunnen via een session, of via de GET methode.
 
Shyaak Nana

Shyaak Nana

27/04/2012 21:26:48
Quote Anchor link
Weet iemand hoe dat moet?
 
Jan Koehoorn

Jan Koehoorn

27/04/2012 23:53:08
Quote Anchor link
Pardon, te snel op enter gedrukt ;-)
Gewijzigd op 27/04/2012 23:53:54 door Jan Koehoorn
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.