par
tesmet » 27 sept. 2014, 15:30
La suggestion déjà faite du second paramètre dédié à la pagination me semble la plus logique.
// les pseudo frame
$pageOK = array('accueil' => 'accueil.php', 'news' => 'news.php', 'pagination' => 'pagination.php');
// générer des liens pour tester
foreach($pageOK as $page => $include) {
if($page != 'accueil') {
if($page == 'news') $pagination = range(1, 2);
else $pagination = range(1, 4);
foreach($pagination as $numero) {
echo '<a href="?page=', $page, '&p=', $numero, '">', $numero, '</a>', PHP_EOL;
}
echo '<a href="?page=', $page, '&p=fausse">fausse</a>', PHP_EOL;
}
else echo '<a href="?page=', $page, '">', $page, '</a>', PHP_EOL;
}
echo '<a href="?page=faux&p=2">faux-2</a>', PHP_EOL;
// évaluer l'inclusion et les paginations
$page = isset($_GET['page']) ? $_GET['page'] : 'accueil';
$include = isset($pageOK[$page]) ? $pageOK[$page] : $pageOK['accueil'];
$p = isset($_GET['p']) ? is_numeric($_GET['p']) ? $_GET['p'] : 1 : 1;
// afficher le résultat
echo 'include(', $include, ') et $page = ', $page, '; et $p = ', $p, PHP_EOL;
mais s'il y a vraiment une limitation pour n'avoir qu'un seul et unique paramètre page.
// les pseudo frame
$pageOK = array('accueil' => 'accueil.php', 'news' => 'news.php', 'pagination' => 'pagination.php');
// générer des liens pour tester
foreach($pageOK as $page => $include) {
if($page != 'accueil') {
if($page == 'news') $pagination = range(1, 2);
else $pagination = range(1, 4);
foreach($pagination as $numero) {
echo '<a href="?page=', $page, '-', $numero, '">', $numero, '</a>', PHP_EOL;
}
echo '<a href="?page=', $page, '-fausse">fausse</a>', PHP_EOL;
}
else echo '<a href="?page=', $page, '">', $page, '</a>', PHP_EOL;
}
echo '<a href="?page=faux-2">faux-2</a>', PHP_EOL;
// évaluer l'inclusion et les paginations
$page = isset($_GET['page']) ? $_GET['page'] : key($pageOK);
$explode = explode('-', $page);
$page = isset($explode[0]) ? $explode[0] : 'accueil';
$include = isset($pageOK[$page]) ? $pageOK[$page] : $pageOK['accueil'];
$_GET['page'] = isset($explode[1]) ? is_numeric($explode[1]) ? $explode[1] : 1 : $page;
// afficher le résultat
echo 'include(', $include, ') et $_GET[\'page\'] = ', $_GET['page'], PHP_EOL;
La suggestion déjà faite du second paramètre dédié à la pagination me semble la plus logique.
[php]// les pseudo frame
$pageOK = array('accueil' => 'accueil.php', 'news' => 'news.php', 'pagination' => 'pagination.php');
// générer des liens pour tester
foreach($pageOK as $page => $include) {
if($page != 'accueil') {
if($page == 'news') $pagination = range(1, 2);
else $pagination = range(1, 4);
foreach($pagination as $numero) {
echo '<a href="?page=', $page, '&p=', $numero, '">', $numero, '</a>', PHP_EOL;
}
echo '<a href="?page=', $page, '&p=fausse">fausse</a>', PHP_EOL;
}
else echo '<a href="?page=', $page, '">', $page, '</a>', PHP_EOL;
}
echo '<a href="?page=faux&p=2">faux-2</a>', PHP_EOL;
// évaluer l'inclusion et les paginations
$page = isset($_GET['page']) ? $_GET['page'] : 'accueil';
$include = isset($pageOK[$page]) ? $pageOK[$page] : $pageOK['accueil'];
$p = isset($_GET['p']) ? is_numeric($_GET['p']) ? $_GET['p'] : 1 : 1;
// afficher le résultat
echo 'include(', $include, ') et $page = ', $page, '; et $p = ', $p, PHP_EOL;[/php]
mais s'il y a vraiment une limitation pour n'avoir qu'un seul et unique paramètre page.
[php]// les pseudo frame
$pageOK = array('accueil' => 'accueil.php', 'news' => 'news.php', 'pagination' => 'pagination.php');
// générer des liens pour tester
foreach($pageOK as $page => $include) {
if($page != 'accueil') {
if($page == 'news') $pagination = range(1, 2);
else $pagination = range(1, 4);
foreach($pagination as $numero) {
echo '<a href="?page=', $page, '-', $numero, '">', $numero, '</a>', PHP_EOL;
}
echo '<a href="?page=', $page, '-fausse">fausse</a>', PHP_EOL;
}
else echo '<a href="?page=', $page, '">', $page, '</a>', PHP_EOL;
}
echo '<a href="?page=faux-2">faux-2</a>', PHP_EOL;
// évaluer l'inclusion et les paginations
$page = isset($_GET['page']) ? $_GET['page'] : key($pageOK);
$explode = explode('-', $page);
$page = isset($explode[0]) ? $explode[0] : 'accueil';
$include = isset($pageOK[$page]) ? $pageOK[$page] : $pageOK['accueil'];
$_GET['page'] = isset($explode[1]) ? is_numeric($explode[1]) ? $explode[1] : 1 : $page;
// afficher le résultat
echo 'include(', $include, ') et $_GET[\'page\'] = ', $_GET['page'], PHP_EOL;[/php]