Ik heb nu een pagina nummering waar ik telkens 3 producten laat zien.
Nu wil ik een where gebruiken om afdelingen te gebruiken.
maar als ik query WHERE afdeling='1' gebruik of in de 2 query's dan loopt het mis.
ik ben al dagen naar een oplossing aan het zoeken.
hopelijk kunnen jullie me helpen
PHP Code:
<?php
/************ pagina-systeem ************/
$pQuery = mysql_query("SELECT * FROM producten ORDER BY id desc");
$psysteem['perpagina'] = 3;
$url = 'http://mijnsite.nl/index.php?naam=furniture';
$psysteem['reacties'] = mysql_num_rows($pQuery);
$psysteem['paginas'] = ceil($psysteem['reacties'] / $psysteem['perpagina']);
if(isset($_GET['p']))
{
$psysteem['pagina'] = $_GET['p'];
$limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina'];
}else{
$psysteem['pagina'] = 1;
$limit = 1;
}
if($psysteem['pagina'] > ($psysteem['paginas'] - 2))
{
$psysteem['begin'] = $psysteem['paginas'] - 4;
}elseif(($psysteem['paginas'] > 5) && ($psysteem['pagina'] > 3))
{
$psysteem['begin'] = $psysteem['pagina'] - 2;
}else{
$psysteem['begin'] = 1;
}
$psysteem['i'] = 0;
if($psysteem['paginas'] > 5)
{
$psysteem['max'] = 5;
}else{
$psysteem['max'] = $psysteem['paginas'] - 1;
$psysteem['begin'] = 1;
}
$pSys = '';
$pSys .= '<a style="padding: 4px;" href="'.$url.'&p=1">«</a>';
for($p=$psysteem['begin'];$psysteem['i']<=$psysteem['max'];$p++)
{
if($p == $psysteem['pagina'])
{
}else{
}
$psysteem['i']++;
}
$pSys .= '<a style="padding: 4px;" href="'.$url.'&p='.$psysteem['paginas'].'">»</a><br />';
/************ select ******************/
$query = "SELECT * FROM producten ORDER BY id desc LIMIT ".$limit.",".$psysteem['perpagina'];
//$query = "SELECT * FROM tabel where ? = ?";
// resultaat maken door query uit te voeren met onderstaand commando
$result = mysql_query($query) or trigger_error( mysql_error() );
//Alle rijen overlopen in een loop
while($row = mysql_fetch_assoc($result)){
?>
<a href="index.php?naam=product&id=<?php echo $row['id']; ?>"><img alt="<?php echo $row['naam']; ?>" width="320" src="images/<?php echo $row['foto']; ?>" /></a>
<? }?>
- where gebruiken
-
29-08-2012, 11:05 #1
- Berichten
- 320
- Lid sinds
- 15 Jaar
where gebruiken
-
-
29-08-2012, 11:09 #2
- Berichten
- 197
- Lid sinds
- 14 Jaar
Re: where gebruiken
Code:$query = "SELECT * FROM producten WHERE afdeling='1' ORDER BY id desc LIMIT ".$limit.",".$psysteem['perpagina']."";
-
29-08-2012, 11:22 #3
- Berichten
- 320
- Lid sinds
- 15 Jaar
Re: where gebruiken
bedankt ik ben al stap verder maar als ik 2 producten heb met afdeling 2 dan krijg ik maar 1 tezien
-
29-08-2012, 11:28 #4
- Berichten
- 980
- Lid sinds
- 17 Jaar
Re: where gebruiken
PHP Code:if(isset($_GET['p']))
{
$psysteem['pagina'] = $_GET['p'];
$limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina'];
}else{
$psysteem['pagina'] = 1;
$limit = 1;
}
-
29-08-2012, 11:32 #5
- Berichten
- 197
- Lid sinds
- 14 Jaar
Re: where gebruiken
Dan zit je fout in de bovenstaande code:
Code:$pQuery = mysql_query("SELECT * FROM producten ORDER BY id desc"); $psysteem['perpagina'] = 3; $url = 'http://mijnsite.nl/index.php?naam=furniture'; $psysteem['reacties'] = mysql_num_rows($pQuery); $psysteem['paginas'] = ceil($psysteem['reacties'] / $psysteem['perpagina']); if(isset($_GET['p'])) { $psysteem['pagina'] = $_GET['p']; $limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina']; }
Code:$limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina'];
Code:print "Print regel: ".$_GET['p']." * ".$psysteem['perpagina']." - ".$psysteem['perpagina']."";
Code:print_r($psysteem['paginas']);
Of zoals Daniel Klabbers zegt.. je zet hem op 1 als er niet op een knop gedrukt word.. kijk is of je meer resultaten krijgt als je de $_GET['p'] gebruikt.Laatst aangepast door Tom S. : 29-08-2012 om 11:34 Reden: Eens met het antwoord van Daniel Klabbers
-
29-08-2012, 11:50 #6
- Berichten
- 161
- Lid sinds
- 14 Jaar
Re: where gebruiken
PHP Code:$limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina'];
PHP Code:$limit = $_GET['p'] * ($psysteem['perpagina'] - $psysteem['perpagina']);
-
29-08-2012, 13:06 #7
- Berichten
- 69
- Lid sinds
- 18 Jaar
Re: where gebruiken
Dat wordt $limit = 0...
Dan staat er namelijk:
Stel perpagina = 3;
$limit = $_GET['p'] * (3 - 3); -> $limit = $_GET['p'] * 0;
Verder:
PHP Code:if(isset($_GET['p']))
{
$psysteem['pagina'] = $_GET['p'];
$limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina'];
}else{
$psysteem['pagina'] = 1;
$limit = 1;
}
PHP Code:if(isset($_GET['p']))
{
$psysteem['pagina'] = $_GET['p'];
$limit = $_GET['p'] * $psysteem['perpagina'] - $psysteem['perpagina'];
}else{
$psysteem['pagina'] = 1;
$limit = 0;
}
Laatst aangepast door Tim Colla : 29-08-2012 om 13:11
-
29-08-2012, 13:09 #8gast39247 Guest
Re: where gebruiken
waar zie jij de haakjes staan... ik zie dit:
Stel dat get P = 2
2 * 3 - 3
6 - 3 = 3
-
29-08-2012, 13:12 #9
- Berichten
- 69
- Lid sinds
- 18 Jaar
-
29-08-2012, 17:00 #10
- Berichten
- 152
- Lid sinds
- 13 Jaar
Re: where gebruiken
Ik raad je aan om eens naar een framework als CodeIgniter te kijken, daar zit al een class bij voor paginatie en kan je met 5 regels code je paginatie aan de praat krijgen
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