Vorige / Volgende bij Resultaten [versie 1.2]
Ik heb dit script geschreven naar aanleiding van een bericht op het forum (http://www.phphulp.nl/forum/showtopic.php?id=724&cat=1). Het script werkt goed, alleen zou het nog uitgebreid kunnen worden met paginanummers.
Nu is het gewoon een stukje script wat ik voorlopig in mijn eigen scriptlibrary bewaar!
Het script zorgt ervoor dat je onderaan een pagina met resultaten van een query een Volgende en/of Vorige hyperlink krijgt als er meer resultaten zijn wat de query heeft opgehaald...
Let bij het voorbeeld onderaan niet wat er op de pagina staat, ik moest even snel een tabelletje vullen!
Edit:
Ik heb versie 1.1 beschikbaar gesteld. In deze versie heb ik alle commentaar Engels gehouden, omdat het dan 'universeler' is. En omdat ik daar heel vaak mee programmeer.. :D
In deze versie staan nu ook de pagina nummers die ik eerder in wilde bouwen. Het was uiteindelijk heel makkelijk, maar ja.. tijd heb ik altijd te kort.. :D Daarnaast heb ik ook de hyperlinks altijd laten staan, anders gaat de tekst zo springen. Als je niet verder kan staat de tekst er wel, maar doet de link het niet.
Edit:
Ik heb vandaag een kleine wijziging gemaakt aan het script. Deze heb ik maar tot versie 1.2 gemaakt.
Ik heb de blokhaken om de paginanummers verwijderd. En verder heb ik een controle gemaakt op welke pagina een gebruiker zit. Het nummer van deze pagina heeft dan weer wel blokhaken en is in zijn totaliteit vet gedrukt.
Voorbeeld: http://fratsloos.nl/phphulp/Vorige_Volgende_1.2/script.php
Gesponsorde koppelingen
PHP script bestanden
Er zijn 24 reacties op 'Vorige volgende bij resultaten versie 12'
Gesponsorde koppelingen
ik probeer het bovenstaande script in mijn script te inplanteren maar.....krijg het niet voor elkander. Mijn script staat hier onder.
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
//
// Gevonden
// Dit script wordt gestart als een gezocht moet worden
//
$lengte = strlen ( $HTTP_POST_VARS[zoekkorps]) + strlen ($HTTP_POST_VARS[zoekroepnummer])+ strlen( $HTTP_POST_VARS[zoektype]) + strlen( $HTTP_POST_VARS[zoekmerk]) + strlen ($HTTP_POST_VARS[zoekopbouw]) + strlen ($HTTP_POST_VARS[zoekkenteken]);
if ($lengte == 0)
{
include "header.php";
echo "jammer U heeft <B> GEEN </B>Zoekterm ingevuld</br> ";
echo "<a href=\"zoek.php\" title=\zoek opnieuw\">zoek opnieuw</a>";
exit();
}
//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:
if (!@mysql_select_db("brand", @mysql_connect("localhost", "**USER**", "**password**")))
{
echo "Er kan geen database connectie gemaakt worden.";
exit();
}
// echo "U heeft gekozen voor plaats: <b>$HTTP_POST_VARS[zoekkorps]</b></P>";
// $HTTP_POST_VARS[zoekkorps] is de naam van het korps
// echo "$HTTP_POST_VARS[zoekkorps]";
$sql = "SELECT * FROM brand WHERE
korps LIKE '%$HTTP_POST_VARS[zoekkorps]%'&&
roepnummer LIKE '%$HTTP_POST_VARS[zoekroepnummer]%'&&
type_voertuig LIKE '%$HTTP_POST_VARS[zoektype]%'&&
merk_type_chassis LIKE '%$HTTP_POST_VARS[zoekmerk]%'&&
opbouw LIKE '%$HTTP_POST_VARS[zoekopbouw]%'&&
kenteken LIKE '%$HTTP_POST_VARS[zoekkenteken]%'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
$res = mysql_query($sql);
$aantal_rijen = mysql_num_rows($res);
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (mysql_num_rows($res) >= 1)
{
// -- Maak header als er wat is gevonden
include "header.php";
echo "<center><table border = 1 >";
echo "
<td><font face = arial > Korps</td>
<td><font face = arial > Roepnummer</td>
<td><font face = arial > Type voertuig</td>
<td><font face = arial > Merk/Type Chassis</td>
<td><font face = arial > Opbouw</td>
<td><font face = arial > Kenteken</td><p>";
echo "<HR>";
echo "<B><font face = arial size= -2> <center>$aantal_rijen Resultaten gevonden</B>";
echo "<HR>";
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
while ($row = mysql_fetch_array($res))
{
echo "<tr>";
echo "<td><ALIGN=LEFT bgcolor=CC0033><font face = arial color = FFFFFF size = -2><a href=\"details.php?id=$row[ID]\">$row[korps]</td></a>";
echo "<td><ALIGN=LEFT bgcolor=CC0033><font face = arial color = FFFFFF size = -2> $row[roepnummer]</td>\n";
echo "<td><ALIGN=LEFT bgcolor=CC0033><font face = arial color = FFFFFF size = -2> $row[type_voertuig]</td><p>\n";
echo "<td><ALIGN=LEFT bgcolor=CC0033><font face = arial color = FFFFFF size = -2> $row[merk_type_chassis]</td><p>\n";
echo "<td><ALIGN=LEFT bgcolor=CC0033><font face = arial color = FFFFFF size = -2> $row[opbouw]</td><p>\n";
echo "<td><ALIGN=LEFT bgcolor=CC0033><font face = arial color = FFFFFF size = -2> $row[kenteken]</td>\n";
echo "</tr>";
}
echo "<a href=\"zoek.php\" title=\zoek opnieuw\">zoek opnieuw</a>";
}
else
{
include "header.php";
echo "<p>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekterm]</b></p>";
echo "<p><a href=\"zoek.php\" title=\"zoek opnieuw\">zoek opnieuw</a></p>";
}
?>
gr Henk
is $max het AANTAL records wat je wil zien. dus waarom $max meegeven als deze waarde toch het zelfde blijft?
2
3
4
5
6
7
8
9
10
11
12
// Variabelen
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($start)) $start=0; // Laten staan, hiermee begint de query op het goede punt
$vorige=$start-20;
$volgende=$start+20;
$sqlpc = sprintf("SELECT t1.pcnaam,t1.macadres,t2.IP_Adres,t1.logintijd,t1.logindatum,t1.ntgebruiker FROM pchardw as t1, ipmac as t2 WHERE t1.macadres=t2.macadres LIMIT $start,20"); //heeft iedereen ook voorbeeld van een JOIN
//code code code
print "<td rowspan=3><a href=\"computer.php?start=$volgende\"><img src='../include/images/pijl-onder.gif'></a></td>";
?>
scheelt toch weer een extra variable in de GET wel zo netjes
aan het eind van het script.
// =========================== //
// -- //
// Geplaatst op: 05.03.2004 16:55 //
// Download URL:
// http://www.phphulp.nl/php/scripts/2/123 //
// -- //
// =========================== //
// ----------------
// Toelichting
// ----------------
/*
Ik heb dit script geschreven naar aanleiding van een bericht op het forum ([urlhttp://www.phphulp.nl/forum/showtopic.php?id=724&cat=1[/url]). Het script werkt goed, alleen zou het nog uitgebreid kunnen worden met paginanummers.
Nu is het gewoon een stukje script wat ik voorlopig in mijn eigen scriptlibrary bewaar!
Het script zorgt ervoor dat je onderaan een pagina met resultaten van een query een Volgende en/of Vorige hyperlink krijgt als er meer resulttaten zijn dan wat de query heeft gevonden...
Let bij het voorbeeld onderaan niet wat er op de pagina staat, ik moest even snel een tabelletje vullen!
*/
// ----------------
// Code:
// ----------------
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
// Maak verbinding met server
mysql_connect ("","", "");
// Selecteer database
mysql_select_db("");
// Variabelen
if(is_numeric($_GET['max'])) $max = $_GET['max']; // Ik geeft het niet standaard mee in een hyperlink, maar het is een mogelijkheid
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 5; // $max is het maximaal aantal resultaten per pagina
if (empty($start)) $start = 0; // Laten staan, hiermee begint de query op het goede punt
// Rekenen
$eind = $start + $max; // Voor de query, tot welke record die moet gaan
$vorige = $start - $max; // Voor de variabele start voor 'vorige'-link
$volgende = $eind; // Voor de variabele start voor 'volgende'-link
// Selecteer alles uit de tabel
$query = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT $start, $max") or die (mysql_error());
// Aantal rijen opgehaald.
$num = mysql_num_rows($query);
if (empty($num))
{
echo "<p>Er zijn geen berichten.</p>";
}
else
{
while ($result = mysql_fetch_row($query))
{
// Print het nieuws
echo "[$result[0]] $result[1]<br>\n";
}
// Hyperlinks maken
echo "<p>\n";
// Kijken of $vorige groter of gelijk is aan 0, dan de hyperlink 'Vorige'
if ($vorige >= '0')
{
echo "<a href=\"script.php?start=$vorige\">Vorige</a>\n";
// De variabele start geeft voor de volgende pagina aan waarde query moet starten
}
// Tellen hoeveel records er zijn
$aantal = mysql_fetch_row(mysql_query("SELECT count(*) FROM phphulp"));
// Als het aantal groter is dan $volgende de link laten zien
if ($aantal[0] > $volgende)
{
echo "<a href=\"script.php?start=$volgende\">Volgende</a>\n";
// De variabele start geeft voor de volgende pagina aan waarde query moet starten
}
//aantal pagina's berekenen
//afronden naar boven via ceil
$pag = ceil($aantal[0]/$max);
if ($pag == 1)
{
echo "Er is maar 1 pagina";
}
else
{
$pagnum = $start/$max + 1;
echo "<br>dit is pagina $pagnum van $pag<BR>";
}
echo "</p>\n";
}
?>
Ik heb bij dit script een zoekfunctie ingebouwd alleen ik krijg nu steeds te zien
dit is pagina 1/2 ook al is er maar 1 resultaat.
Druk ik op volgende dan gaat hij weer naar mijn zoekscriptje.
---------------------
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
include("connect.php");
if($_POST['submit']){
if(is_numeric($_GET['max'])) $max = $_GET['max'];
if(is_numeric($_GET['start'])) $start = $_GET['start'];
if (empty($max)) $max = 3;
if (empty($start)) $start = 0;
$eind = $start + $max;
$vorige = $start - $max;
$volgende = $eind;
if(empty($van)){
if(empty($tot)){
$query =mysql_query("SELECT * FROM uploads WHERE verkoophuur='$verkoophuur' AND categorie='$categorie' ORDER BY Id DESC LIMIT $start, $max") or die(mysql_error());
}
}else{
$query = mysql_query("SELECT * FROM uploads WHERE verkoophuur='$verkoophuur' AND categorie='$categorie' AND prijs > '$van' AND prijs < '$tot' ORDER BY Id DESC LIMIT $start, $max") or die(mysql_error());
}
$num = mysql_num_rows($query);
if (empty($num))
{
echo "<p>Er zijn geen zoekresultaten gevonden!.</p>";
}
else
{
while ($rij = mysql_fetch_array($query))
{
print("<table border='0'>
<td><a href='info.php?id=$rij[Id]'>$foto1</a></td><td><b>$rij[titel]</b></td>
<td></td><td>$rij[plaats]</td>
<tr>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td><td><a href='info.php?id=$rij[Id]'>$rij[omschrijving]</a></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td><td><a href='info.php?id=$rij[Id]'>Meer info</a></td>
</tr>
<br>
</table>
");
}
echo "<p>\n";
if ($vorige >= '0')
{
echo "<a href=\"irir.php?start=$vorige\">Vorige</a>\n";
}
$aantal = mysql_fetch_array(mysql_query("SELECT count(*) FROM uploads"));
if ($aantal[0] > $volgende)
{
echo "<a href=\"irir.php?start=$volgende\">Volgende</a>\n";
}
$pag = ceil($aantal[0]/$max);
if ($pag == 1)
{
echo "Er is maar 1 pagina";
}
else
{
$pagnum = $start/$max + 1;
echo "<br>dit is pagina $pagnum van $pag<BR>";
}
echo "</p>\n";
}
}else{
print("<form method='POST' action='$PHP_SELF'>
<table border='0'>
<td></td><td><input type='radio' name='verkoophuur' value='verkoop'>Te koop<input type='radio' name='verkoophuur' value='huur'>Huur</td>
<tr>
<td>Type:</td><td><select name='categorie'>
<option>Ander pand</option>
<option>Appartement</option>
<option>Gewoon</option>
<option>Bungalow</option>
<option>Chalet</option>
<option>Dorpswoning</option>
<option>Garage</option>
<option>Grond</option>
<option>Herenhuis</option>
<option>Hoeve</option>
<option>Huis</option>
<option>Kasteel</option>
<option>Loft</option>
<option>Villa</option>
</select>
</td>
</tr>
<tr>
<td>Regio:</td><td><select name='regio'>
<option>invoeren!</option>
</select>
</td>
</tr>
<tr>
<td>Plaats:</td><td><select name='plaats'>
<option>invoeren!</option>
</select>
</td>
</tr>
<tr>
<td>Prijs:</td><td>van:<input type='text' name='van' size='20'>tot:<input type='text' name='tot' size='20'></td>
</tr>
<tr>
<td></td><td><input type='submit' name='submit' value='submit'><input type='reset' name='reset' value='reset'></td>
</tr>
</table>
</form>
");
}
?>
weet iemand hoe ik dit kan verhelpen?!
Met vriendelijke groet,
Thomas Rolink
(url: http://www.nongetjie.nl/nieuws.php)
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
global $gallery_root, $gallery_address, $file, $excluded_folders, $pictwidth, $pictheight, $thumbwidth, $thumbheight, $gallery_width, $gallery_sidebar;
// ---------- Settings ----------
// Configure these settings, to use the gallery.
// Your gallery folder (this is where your pictures and picture folders are located).
$gallery_address = '/gallery/';
// Sidebar position
$gallery_sidebar = 'right'; // left or right
// Add foldernames to exclude. (add more lines like this on more excludes.)
$excluded_folders[] = 'cgi-bin';
// Picture size
$pictwidth = 400;
$pictheight = 400;
// Thumbnail size
$thumbwidth = 110;
$thumbheight = 110;
// ---------- Settings end ----------
// Do not edit below this line
$gallery_root = $_SERVER['DOCUMENT_ROOT'].$gallery_address;
$gallery_address = 'http://'.$_SERVER['HTTP_HOST'].$gallery_address;
function showGallery() {
global $file;
if (!validateFile())
{
echo 'Ongeldige directory of bestandsnaam';
return;
}
createNavigation();
$path = pathinfo($file);
if ($path['extension'] == '')
{
//Display Dir(s) (if any)
showDirs();
//Display Thumb(s) (if any)
showThumbs();
} else {
showSlide($file);
}
}
function setCurrentdir()
{
global $currentdir, $file;
$path = pathinfo($file);
if ($path['extension'] != '')
$currentdir = $path['dirname'].'/';
else
$currentdir = $file;
}
function showDirs() {
global $gallery_root, $currentdir, $file, $excluded_folders;
$runonce = false;
if ($dir_content = opendir($gallery_root.$currentdir)) {
while ( false !== ($dir = readdir($dir_content)) ) {
if (is_dir($gallery_root.$currentdir.$dir) && !in_array($dir, $excluded_folders) && $dir!='.' && $dir!='..' ) {
if ( !$runonce ){
echo '<div class="folders"><br/>Mappen:<br/><br/>';
$runonce = true;
}
echo '<a href="'.$_SERVER['PHP_SELF'].'?file='.$currentdir.$dir.'/">» '.$dir.'</a><br>';
}
}
}
if ( $runonce )
echo '</div><br/>';
}
function showSlide($slidefile) {
global $gallery_root, $gallery_address, $currentdir, $file;
if ($dir_content = opendir($gallery_root.$currentdir)) {
while ( false !== ($img = readdir($dir_content)) ) {
if ( is_file($gallery_root.$currentdir.$img) && eregi(".*(\.jpg|\.gif|\.png|\.jpeg)", $img))
$imgfiles[] = $img;
}
}
$prev = '';
$slide = '';
$next = '';
$arraysize = count($imgfiles);
for ($i=0; $i < $arraysize; $i++)
{
if($currentdir.$imgfiles[$i] == $slidefile)
{
$slide = $imgfiles[$i];
// Set prev
if($i==0)
$prev = $imgfiles[$arraysize-1];
else
$prev = $imgfiles[$i-1];
// Set Next
if($i+1 == $arraysize)
$next = $imgfiles[0];
else
$next = $imgfiles[$i+1];
}
}
// Get picture info
$img = $gallery_root.$currentdir.$slide;
$path = pathinfo($img);
switch(strtolower($path["extension"])){
case "jpeg":
case "jpg":
$img=imagecreatefromjpeg($img);
break;
case "gif":
$img=imagecreatefromgif($img);
break;
case "png":
$img=imagecreatefrompng($img);
break;
default:
break;
}
$xsize = (imagesx($img));
$ysize = (imagesy($img));
imagedestroy($img);
echo '<div id="nav">
<a href="'.$_SERVER['PHP_SELF'].'?file='.$currentdir.$prev.'" class="alignleft">« Vorige</a>
<a href="'.$_SERVER['PHP_SELF'].'?file='.$currentdir.$next.'" class="alignright">Volgende »</a>
</div>
<br/>
<div class="image"><a href="'.$gallery_address.$currentdir.$slide.'" target="_new"><img src="./wp-content/plugins/lazy-gallery/lazy-img.php?file='.$currentdir.$slide.'&thumb=0"></a>
</div>
<br/>
<div class="imgdata">
Foto details<br/>
Werkelijke grootte: '.$xsize.' x '.$ysize.'<br/>
</div>';
}
function showThumbs() {
global $gallery_root, $currentdir, $file, $thumbwidth, $thumbheight;
if ($dir_content = opendir($gallery_root.$currentdir)) {
while ( false !== ($file = readdir($dir_content)) ) {
if ( is_file($gallery_root.$currentdir.$file) )
if(eregi(".*(\.jpg|\.gif|\.png|\.jpeg)", $file))
$imgfiles[] = $file;
}
}
echo '<div class="image">';
if(isset($imgfiles))
{
foreach ($imgfiles as $img)
{
//echo '<div style="position: relative; width: '.($thumbwidth+16).'px; height: '.($thumbheight+16).'px; border: 1px solid #a9a9a9;">';
echo '<a href="'.$_SERVER['PHP_SELF'].'?file='.$currentdir.$img.'"><img src="./wp-content/plugins/lazy-gallery/lazy-img.php?file='.$currentdir.$img.'&thumb=1"></a>';
//echo '</div>';
}
}
echo '</div>';
}
// Validates file variable
function validateFile() {
global $excluded_folders, $file;
$file = $_GET['file'];
// validate dir
if ( strstr($file, '..') || strstr($file, '%2e%2e') )
return false;
foreach ($excluded_folders as $folder)
{
if ( strstr($file, $folder) )
return false;
}
setCurrentdir();
return true;
}
function createNavigation()
{
global $currentdir, $file;
if ($currentdir == './')
$currentdir = '';
$nav = split('/', $currentdir);
array_pop($nav);
$path = pathinfo($file);
echo '<div>Navigatie: » <a href="'.$_SERVER['PHP_SELF'].'">Fotoboek</a> ';
foreach ($nav as $n)
{
$current .= $n.'/';
echo '» <a href="'.$_SERVER['PHP_SELF'].'?file='.$current.'">'.$n.'</a> ';
}
if ($path['extension']!='')
echo '» <a href="'.$_SERVER['PHP_SELF'].'?file='.$current.$path['basename'].'">'.$path['basename'].'</a>';
echo '</div>';
}
?>
Dit is mijn foto pagina, tenminste zo wordt hij opgebouwd.
Nu wil ik alleen pagina's erbij, weet iemand hoe je dat doet ? Ik heb geen mysql voor de plaatjes...
Ik ben zover dat ik een image uit mijn db wil laten zien alleen pakt die de id van de image niet.
Hij geeft de images weer met het bekende rode kruisje.
Dan zijn de eigenschappen van het kruisje admin/upload/
Maar daar moet dus nog het id van het plaatje achter.
Om te reageren heb je een account nodig en je moet ingelogd zijn.
Inhoudsopgave
Labels
- Geen tags toegevoegd.
PHP hulp
0 seconden vanaf nu