pagination /sql resullt werkt niet goed
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)
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
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>
<!--
.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)
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
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>
<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)
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
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>
<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
Even een andere vraag: Waarom heet je tabel: Ballonnen1? Ik neem aan dat er toch geen tweede genummerde tabel is?
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
Want in dat geval ben je fout bezig.
Hoi aar. Dat is niet het geval
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.
Weet iemand hoe dat moet?
Gewijzigd op 27/04/2012 23:53:54 door Jan Koehoorn