Liste des pages ( 199 / 207 )
Liste des pages ( 199 / 207 )
a
b
c
d
e
f
g
h
i
j
k
l
m
<?php
/**
* @file multipage.php
* @brief Page d'essai de menu pour multipage avec beaucoup de pages.
*
* @author hughes monget
* @see http://monget.com/
*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>test multipage</title>
<script type="text/javascript">
<!--;
function on_load()
{
if (!document || !document.getElementById)
{
return
}
// Gestion du rollover sur le menu déroulant.
var obj_menu_deroulant = document.getElementById("bouton_affichage")
var obj_sous_menu = document.getElementById("liste_cachee")
if (obj_menu_deroulant && obj_sous_menu && obj_menu_deroulant.style && obj_sous_menu.style)
{
// Mouseover.
// On rend le menu invisible en javascript: xomme ça,
// si le js est désactivé, le menu sera visible.
obj_sous_menu.style.display = "none"
var callback_onmouseover = function()
{
if (obj_sous_menu.style.display == "none")
{
obj_sous_menu.style.display = "block"
}
}
obj_menu_deroulant.onmouseover = callback_onmouseover
obj_sous_menu.onmouseover = callback_onmouseover
// Mouseout.
var callback_onmouseout = function()
{
if (obj_sous_menu.style.display == "block")
{
obj_sous_menu.style.display = "none"
}
}
obj_menu_deroulant.onmouseout = callback_onmouseout
obj_sous_menu.onmouseout = callback_onmouseout
}
}
// -->
</script>
<style type="text/css">
<!--
body
{
color: #000;
}
div.liste_complete a, div.liste_allegee a, div.liste_glissante a
{
color: #00f;
text-decoration: none;
font-size: 9px;
}
div.liste_allegee a
{
font-size: 12px;
}
div.liste_complete a.cur, div.liste_allegee a.cur, div.liste_glissante a.cur
{
color: #f00;
border-bottom: 1px solid #f00;
}
div.liste_complete a.dizaine
{
background: #eee;
}
div.liste_selection .changer_page
{
margin: 0;
padding: 0;
}
/* ================================================================
This copyright notice must be untouched at all times.
The original version of this stylesheet and the associated (x)html
is available at http://www.cssplay.co.uk/menus/basic_dd.html
Copyright (c) 2005-2007 Stu Nicholls. All rights reserved.
This stylesheet and the assocaited (x)html may be modified in any
way to fit your requirements.
=================================================================== */
/* remove the bullets, padding and margins from the lists */
.liste_numero_page
{
display: block;
height: 25px;
}
.liste_numero_page ul
{
list-style-type: none;
margin: 0;
padding: 0;
}
/* make the top level links horizontal and position relative so that we can position the sub level */
.liste_numero_page li
{
float: left;
position: relative;
z-index: 100;
}
/* use the table to position the dropdown list */
.liste_numero_page table
{
border-collapse: collapse;
left: -1px;
position: absolute;
top: 25px;
z-index: 80;
}
/* style all the links */
.liste_numero_page a, .liste_numero_page :visited
{
display: block;
color: #000;
background: #eee;
font-size: 12px;
margin-right: 1px;
padding: 7px 0;
text-align: center;
text-decoration: none;
width: 25px;
}
/* style the links hover */
.liste_numero_page :hover
{
background: #ccc;
color: #444;
}
/* hide the sub level links */
.liste_numero_page ul ul
{
height: 0;
position: absolute;
visibility: hidden;
width: 25px;
}
/* make the sub level visible on hover list or link */
.liste_numero_page ul li:hover ul, .liste_numero_page ul a:hover ul
{
visibility: visible;
}
#bouton_affichage
{
}
#position_mouseover
{
position: relative;
}
#position_mouseover span
{
border: 1px dotted #ccc;
background: #f0f0f0;
}
#liste_mouseover
{
display: none;
visibility: hidden;
float: left;
position: absolute;
top: 20px;
left: 1px;
background: cyan;
padding: 5px;
background: #f0f0f0;
border-bottom: 1px dotted #ccc;
border-right: 1px dotted #ccc;
}
-->
</style>
</head>
<body onload="on_load()">
<?php
// Gestion du paramètre http.
define('SN', $_SERVER['SCRIPT_NAME']);
define('INT_MAX_ELEMENT', 207);
define('HTTP_PAGE', 'p');
$int_page_courante = 1;
if (isset($_REQUEST[HTTP_PAGE]))
{
$int_tmp = intval($_REQUEST[HTTP_PAGE]);
if ($int_tmp > 0 && $int_tmp <= INT_MAX_ELEMENT)
{
$int_page_courante = $int_tmp;
}
}
//------------------------------------------------------------------------------
echo "\n",
'<hr />',
'<div class="liste_complete">';
for ($ii = 1; $ii <= INT_MAX_ELEMENT; $ii++)
{
$str_classe = '';
if ($int_page_courante === $ii)
{
$str_classe .= ' cur';
}
if (($ii % 10) == 0)
{
$str_classe .= ' dizaine';
}
if ($str_classe)
{
$str_classe = ' class="'.$str_classe.'"';
}
echo '<a href="'.SN.'?'.HTTP_PAGE.'='.$ii.'"'.$str_classe.'>'.$ii.'</a>';
if ($ii < INT_MAX_ELEMENT) { echo ' - '; }
}
echo '</div>';
//------------------------------------------------------------------------------
echo "\n",
'<hr />',
'<div class="liste_selection">';
echo
'<form class="changer_page" action="">',
'<select name="',HTTP_PAGE,'" onchange="this.form.submit();">';
for ($ii = 1; $ii <= INT_MAX_ELEMENT; $ii++)
{
$str_classe = '';
if (($ii % 10) == 0)
{
$str_classe = ' class="dizaine"';
}
$str_selected = '';
if ($int_page_courante === $ii)
{
$str_selected = ' selected="selected"';
}
echo '<option',$str_classe,$str_selected,'>',$ii,'</option>';
}
echo
'</select>',
' ',
'<input type="submit" value="go" />',
'</form>';
echo '</div>';
//------------------------------------------------------------------------------
$arr_arr_int_page = range(0, INT_MAX_ELEMENT);
$arr_arr_int_page = array_chunk($arr_arr_int_page, 10);
unset($arr_arr_int_page[0][0]);
echo "\n",
'<hr />',
'<div class="liste_numero_page">',
'<ul>';
foreach ($arr_arr_int_page as $arr_int_page)
{
$ii = array_shift($arr_int_page);
echo "\n",
'<li><a href="',SN,'?',HTTP_PAGE,'=',$ii,'">',$ii,'<!--[if IE 7]><!--></a><!--<![endif]-->',
'<!--[if lte IE 6]><table><tr><td><![endif]-->';
if ($arr_int_page)
{
echo '<ul>';
foreach ($arr_int_page as $ii)
{
echo "\n",'<li><a href="',SN,'?',HTTP_PAGE,'=',$ii,'">',$ii,'</a></li>';
}
echo '</ul>';
}
echo
'<!--[if lte IE 6]></td></tr></table></a><![endif]-->',
'</li>';
}
echo
'</ul>',
'</div>';
//------------------------------------------------------------------------------
echo "\n",
'<hr />',
'<div class="liste_allegee">';
$int_intervalle = 10;
function echo_a($ii, $int_page_courante)
{
$str_classe = '';
if ($int_page_courante === $ii)
{
$str_classe = ' class="cur"';
}
echo ' <a href="'.SN.'?'.HTTP_PAGE.'='.$ii.'"'.$str_classe.'>'.$ii.'</a> ';
}
$int_minimum = max(0, $int_page_courante - $int_intervalle);
$int_maximum = min(INT_MAX_ELEMENT + 1, $int_page_courante + $int_intervalle);
$bool_3_points = false;
for ($ii = 1; $ii <= INT_MAX_ELEMENT; $ii++)
{
if (($ii % 10) == 0)
{
echo_a($ii, $int_page_courante);
$bool_3_points = true;
}
else
{
if ($int_minimum < $ii && $ii < $int_maximum)
{
echo_a($ii, $int_page_courante);
}
else
{
if ($bool_3_points)
{
echo '...';
$bool_3_points = false;
}
}
}
}
echo '</div>';
//------------------------------------------------------------------------------
echo "\n",
'<hr />',
'<div class="liste_glissante">';
$int_dizaine = intval(floor($int_page_courante / 10)) * 10;
$int_minimum = max(1, $int_dizaine);
$int_maximum = min(INT_MAX_ELEMENT, $int_dizaine + 9);
if ($int_minimum != 1)
{
echo '<a href="'.SN.'?'.HTTP_PAGE.'='.($int_dizaine-10).'"'.$str_classe.'><<</a> ... ';
}
for ($ii = $int_minimum; $ii <= $int_maximum; $ii++)
{
echo_a($ii, $int_page_courante);
if ($ii != INT_MAX_ELEMENT && $ii != $int_maximum)
{
echo ' - ';
}
}
if ($int_maximum != INT_MAX_ELEMENT)
{
echo ' ... <a href="'.SN.'?'.HTTP_PAGE.'='.($int_dizaine+10).'"'.$str_classe.'>>></a> ';
}
echo '</div>';
//------------------------------------------------------------------------------
echo "\n",
'<hr />';
echo <<<JS
<script type="text/javascript">
<!--;
function afficherListePages()
{
document.getElementById('liste_mouseover').style.visibility = 'visible'
document.getElementById('liste_mouseover').style.display = 'block'
}
function cacherListePages()
{
document.getElementById('liste_mouseover').style.visibility = 'hidden'
document.getElementById('liste_mouseover').style.display = 'none'
}
//-->
</script>
JS;
echo '<div id="position_mouseover"><span onmouseover="afficherListePages()" onmouseout="cacherListePages()">Liste des pages ( ',$int_page_courante,' / ',INT_MAX_ELEMENT,' )</span>';
echo '<div id="liste_mouseover" class="liste_complete" onmouseover="afficherListePages()" onmouseout="cacherListePages()">';
for ($ii = 1; $ii <= INT_MAX_ELEMENT; $ii++)
{
$str_classe = '';
if ($int_page_courante === $ii)
{
$str_classe .= ' cur';
}
if (($ii % 10) == 0)
{
$str_classe .= ' dizaine';
}
if ($str_classe)
{
$str_classe = ' class="'.$str_classe.'"';
}
echo '<a href="'.SN.'?'.HTTP_PAGE.'='.$ii.'"'.$str_classe.'>'.$ii.'</a>';
if ($ii < INT_MAX_ELEMENT) { echo ' - '; }
}
echo '</div>';
echo '</div>';
//------------------------------------------------------------------------------
echo "\n",
'<hr />';
echo '<div id="bouton_affichage">Liste des pages ( ',$int_page_courante,' / ',INT_MAX_ELEMENT,' )';
echo '<div id="liste_cachee" class="liste_complete">';
for ($ii = 1; $ii <= INT_MAX_ELEMENT; $ii++)
{
$str_classe = '';
if ($int_page_courante === $ii)
{
$str_classe .= ' cur';
}
if (($ii % 10) == 0)
{
$str_classe .= ' dizaine';
}
if ($str_classe)
{
$str_classe = ' class="'.$str_classe.'"';
}
echo '<a href="'.SN.'?'.HTTP_PAGE.'='.$ii.'"'.$str_classe.'>'.$ii.'</a>';
if ($ii < INT_MAX_ELEMENT) { echo ' - '; }
}
echo '</div>';
echo '</div>';
//--- hr final
echo '<hr />';
foreach(range('a', 'm') as $ii) { echo $ii, '<br />'; }
echo '<hr />';
highlight_file(__FILE__);
?>
</body>
</html>