Heu,
Weet iemand waarom mijn paginatie systeem het niet doet in me zoekscript?
Als ik iets zoek en naar de volgende pagina ga dan, weergeeft hij geen resultaten meer.
Kan iemand me helpen? :)
Code:
GegroetCode:<?php include 'includes/header.php'; if($_SERVER['REQUEST_METHOD'] == 'POST') { $_SESSION['subcat'] = $_POST['subsub']; $_SESSION['van'] = $_POST['van']; $_SESSION['tot'] = $_POST['tot']; $_SESSION['merk'] = $_POST['merk']; $zoekResultaten = $core->mysql->query("SELECT 1 FROM producten WHERE subcat LIKE '%".$core->mysql->escape($_SESSION['subcat'])."%' OR merk_product LIKE '%".$core->mysql->escape($_SESSION['merk'])."%' OR prijs >= '".$core->mysql->escape($_SESSION['van'])."' AND prijs <= '".$core->mysql->escape($_SESSION['tot'])."'"); $totaal = $core->mysql->num_rows($zoekResultaten); $huidige = (isset($param[1]) && ctype_digit($param[1]) && $param[1] > 0) ? $param[1] : 1; $per_pagina = 8; $str = paging('uitgebreid_zoeken/', $totaal, $per_pagina, $huidige); $uitgebreidenZoekenQuery = $core->mysql->query("SELECT * FROM producten WHERE subcat LIKE '%".$core->mysql->escape($_SESSION['subcat'])."%' OR merk_product LIKE '%".$core->mysql->escape($_SESSION['merk'])."%' OR prijs >= '".$core->mysql->escape($_SESSION['van'])."' AND prijs <= '".$core->mysql->escape($_SESSION['tot'])."' LIMIT ".(($huidige * $per_pagina) - $per_pagina).", ".$per_pagina); if($core->mysql->num_rows($uitgebreidenZoekenQuery) >= 1) { echo '<strong>Voor u geselecteerd:</strong><br /><br />'; while($uitgebreidenZoekenFetch = $core->mysql->fetch($uitgebreidenZoekenQuery)) { ?> <div class='aanbieding' style="padding-top: 10px;"> <div style="float: left; width: 130px;"> <img src="<?php echo $uitgebreidenZoekenFetch['afbeelding_groot']; ?>" style="width: 100px; height: 80px;" alt="" class="pic" /><br /> <h2>€<?php echo $uitgebreidenZoekenFetch['prijs']; ?></h2> </div> <p style="float: left; padding-left: 5px;"><strong style="color: #008000;"><?php echo substr($uitgebreidenZoekenFetch['naam'], 0, 40); ?></strong><br /><?php echo substr($uitgebreidenZoekenFetch['beschrijving'], 0, 120); ?>..<br /><br /> <a href="<?php echo _ROOT_; ?>product/<?php echo $uitgebreidenZoekenFetch['id']; ?>/<?php echo $core->entities($param[1]); ?>/<?php echo stringToUrl($uitgebreidenZoekenFetch['naam']); ?>.html" class='button'> Informatie </a> <a href="<?php echo _ROOT_; ?>bestellen/<?php echo $uitgebreidenZoekenFetch['id']; ?>" target="_blank" class='button'> Bestellen </a> </p> </div> <?php } echo ' <div style="clear: both;"></div>'.$str; } else { echo 'Geen resultaten'; } } include 'includes/footer.php'; ?>
- Paginatie in zoekscript?
-
17-12-2010, 18:21 #1
- Berichten
- 76
- Lid sinds
- 16 Jaar
Paginatie in zoekscript?
-
-
17-12-2010, 20:13 #2
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Paginatie in zoekscript?
Je begint met een if(request method == post), maar waarschijnlijk is je request method geen post meer nadat je op de volgende pagina klikt. Je moet dus even wat inbouwen wat aangeeft dat je een zoekfunctie hebt gebruikt bijvoorbeeld:
PHP Code:if($_SERVER['REQUEST_METHOD'] == "post" || $_SESSION['didsearch'] == true) {
// Als de method 'post' is moeten we de zoektermen aanpassen, anders staan ze nog in de sessie van de vorige zoekopdracht
if($_SERVER['REQUEST_METHOD'] == "post") {
$_SESSION['didsearch'] = true;
$_SESSION['subcat'] = $_POST['subsub'];
$_SESSION['van'] = $_POST['van'];
$_SESSION['tot'] = $_POST['tot'];
$_SESSION['merk'] = $_POST['merk'];
}
}
-
17-12-2010, 20:58 #3
- Berichten
- 76
- Lid sinds
- 16 Jaar
Re: Paginatie in zoekscript?
Maar didsearch bestaat niet, en dan geeft hij niks meer weer bij mij.
-
18-12-2010, 13:37 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: Paginatie in zoekscript?
Je kijkt in eerste instantie toch dat er OF een post-request is OF dat didsearch in de sessie bestaat? Daarna kijk je nog eens extra of er een post-request is om als actie hierop de zoektermen en de didsearch session key aan te maken.
Als je de keer hierna (binnen dezelfde sessie dan) hier op deze pagina komt zal didsearch wel true zijn maar geen post-request, dus de zoektermen worden niet overschreven en de vorige bekende zoektermen zullen gebruikt worden.
Wat je eventueel nog kunt doen is nog een beveiliging erin zetten die je terug stuurt naar de zoekpagina indien er geen post-request EN didsearch is.
Je moet dat stukje code wat ik je gaf nog even zelf aanpassen en invoegen in je eigen script. Je moet hem, om het te laten werken, natuurlijk sowieso als eerste een keer met een formulier aanroepen.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic