Navigatie geeft niet juiste aantal aan
Op mijn website heb ik een winkel staan die meerdere acties kan hebben.
-lus 1-
Winkelnaam
-lus 2-
* actie 1
* actie 2
* actie 3
-einde lus 2-
-einde lus 1
Omdat je dus met een lus binnen een lus werkt heb ik gegroepeerd op naam_id omdat hij anders nog alle winkelnamen 3x onder elkaar laat zien.
Dit werkt goed.
Alleen als ik dit ook doe met het tellen van het id om zo pagina nummering goed weer te geven, lukt dat niet.
Hij laat dan maar 8 winkels zien omdat offset op 8 is ingesteld. De paginanummering laat hij ook niet zien.
Laat ik GROUP BY weg dan laat hij wel alle linken zien maar geeft hij dus teveel winkels aan.
Hoe kan ik toch goed tellen voor de paginanummering?
EDIT: stukje code toegevoegd
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
//Begin navigatie setup
$iPP = 8; // items per pagina
$noL = 8; // aantal links
$pn = ( !isset($_GET['pagina']) || empty($_GET['pagina']) ? 1 : $_GET['pagina'] );
$offset = ($pn-1)*$iPP.",".$iPP;
$navArr = explode("(|)",navGEN("SELECT COUNT(id) FROM linken WHERE zichtbaar <> FALSE AND CURRENT_DATE() BETWEEN startdatum AND einddatum GROUP BY naam_id",$pn,$iPP,$noL));
//Einde navigatie setup
?>
//Begin navigatie setup
$iPP = 8; // items per pagina
$noL = 8; // aantal links
$pn = ( !isset($_GET['pagina']) || empty($_GET['pagina']) ? 1 : $_GET['pagina'] );
$offset = ($pn-1)*$iPP.",".$iPP;
$navArr = explode("(|)",navGEN("SELECT COUNT(id) FROM linken WHERE zichtbaar <> FALSE AND CURRENT_DATE() BETWEEN startdatum AND einddatum GROUP BY naam_id",$pn,$iPP,$noL));
//Einde navigatie setup
?>
</tr>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
//naam en plaatje van webshop
$queryShop = "
SELECT
id,
naam,
naam_id,
plaatje,
DATE_FORMAT(einddatum, '%d-%m-%Y') AS einde_actie
FROM
linken
WHERE
zichtbaar <> FALSE
AND CURRENT_DATE() BETWEEN startdatum AND einddatum
GROUP BY
naam_id
ORDER BY naam ASC LIMIT ".$offset;
$resultShop = mysql_query($queryShop) or die (mysql_error());
?>
//naam en plaatje van webshop
$queryShop = "
SELECT
id,
naam,
naam_id,
plaatje,
DATE_FORMAT(einddatum, '%d-%m-%Y') AS einde_actie
FROM
linken
WHERE
zichtbaar <> FALSE
AND CURRENT_DATE() BETWEEN startdatum AND einddatum
GROUP BY
naam_id
ORDER BY naam ASC LIMIT ".$offset;
$resultShop = mysql_query($queryShop) or die (mysql_error());
?>
Er zijn nog geen reacties op dit bericht.