problème pagination avec pseudo frame
Posté : 22 sept. 2014, 21:24
Bonjour à tous,
Voilà un bon bout de temps que je ne suis pas revenue sur ce forum,
et je tiens par cet écrit à remercier d'avance tous ceux qui mon aidé par le passé ...
Aujourd'hui php, MySQL et autres, on évolué ce qui pose un problème de remise à niveau pour le néophyte que je suis,
et qui de plus gérer un site tout seul (les images, le javascript, Jquery, le css, le php etc etc etc...), n'est pas forcément de bon aloi,
et cela me fait passer de nombreuses nuits blanches, pour rechercher les problèmes lier à l'évolution d'internet.
Bref..?
Voila mon problème du moment j'ai fait un système de pagination qui fonctionne en solo,
mais quand je l'intègre à mon site il ne fonctionne pas du fait que j'utilise les pseudo frame.
PAGE DE PAGINATION
PAGE ACCUEIL.PHP
la page index.php je l'ai minimiser pour l'exemple,
Maintenant si je lance ma page de pagination (je suis en local) l'url se présentera de la façon suivante :
localhost/site/index.php?page=pagination
Jusque là pas de problème.
Mais quand je pagine la page l'url se présente sous cette forme:
localhost/site/index.php?page=1
localhost/site/index.php?page=2
etc etc etc. pour tout les donnée appelée dans ma bdd, et cela me ramène à la page par default accueil.php.
Comment..? Dois-je procéder pour que ma pagination fonctionne sans être obliger de toucher à mon code de pseudo frame....????
Dans l'attente de votre aide je vous dis d'avance....
Un grand MERCI
Voilà un bon bout de temps que je ne suis pas revenue sur ce forum,
et je tiens par cet écrit à remercier d'avance tous ceux qui mon aidé par le passé ...
Aujourd'hui php, MySQL et autres, on évolué ce qui pose un problème de remise à niveau pour le néophyte que je suis,
et qui de plus gérer un site tout seul (les images, le javascript, Jquery, le css, le php etc etc etc...), n'est pas forcément de bon aloi,
et cela me fait passer de nombreuses nuits blanches, pour rechercher les problèmes lier à l'évolution d'internet.
Bref..?
Voila mon problème du moment j'ai fait un système de pagination qui fonctionne en solo,
mais quand je l'intègre à mon site il ne fonctionne pas du fait que j'utilise les pseudo frame.
PAGE DE PAGINATION
<?php
require ($_SERVER['DOCUMENT_ROOT'].'connect.php');
$req = $db->query('SELECT id FROM chineproverbe');
$nbr_total_articles = $req->rowCount();
$nbr_articles_par_page = 10;
// nombre de numéro gauche et droite numéro page selectionées
$nbr_articles_max_gauche_et_droite = 4;
$last_page = ceil($nbr_total_articles / $nbr_articles_par_page);
if(isset($_GET['p']) && is_numeric($_GET['p'])){
$page_num = $_GET['p'];
}
else{
$page_num = 1;
}
if($page_num < 1){
$page_num = 1;
}
else if($page_num > $last_page){
$page_num = $last_page;
}
$limit = 'LIMIT '.($page_num - 1) * $nbr_articles_par_page. ',' . $nbr_articles_par_page;
$sql = "SELECT id,text FROM chineproverbe ORDER BY id ASC $limit";
//Pagination
$pagination = '';
if($last_page != 1){
if($page_num > 1){
$previous = $page_num - 1;
$pagination .= '<a href="?page='.$previous.'">Précédent</a> ';
for($i = $page_num - $nbr_articles_max_gauche_et_droite; $i < $page_num; $i++){
if($i > 0){
$pagination .= '<a href="?page='.$i.'">'.$i.'</a> ';
}
}
}
$pagination .= '<span class="active">'.$page_num.'</span> ';
for($i = $page_num+1; $i <= $last_page; $i++){
$pagination .= '<a href="?page='.$i.'">'.$i.'</a> ';
if($i >= $page_num + $nbr_articles_max_gauche_et_droite){
break;
}
}
if($page_num != $last_page){
$next = $page_num +1;
$pagination .= '<a href="?page='.$next.'"> Suivant</a>';
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Pagination</title>
</head>
<body>
<?php
echo "<p><strong>($nbr_total_articles)</strong> proverbes au total !</p><br />";
echo "Page <b>$page_num</b> sur <b>$last_page</b>";
echo "<ul class='proverbe'>";
$req = $db->query($sql);
while($data = $req->fetch())
{
echo '<li>'.$data['text'].'</li>';
}
echo "</ul>";
echo '<div id="pagination">'.$pagination.'</div>';
?>
</body>
</html>
PAGE ACCUEIL.PHP
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans titre</title>
</head>
<body>
<div class="entete" >[/html]
<?php include('entete.php'); ?>
</div>
<div class="colonneGauche" >
<?php include('menu.php'); ?>
</div>
<div class="colonneDroite">
<?php
// Tableau contenant les pages autorisées
$pageOK = array('accueil' => 'accueil.php',
'news' => 'news.php',
'pagination' => 'pagination.php'
);
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) )
{
include($pageOK[$_GET['page']]);
}
else
{
include('accueil.php');
}
?>
</div>
<div class="pied">
<?php include('pied.htm'); ?>
</div>
</body>
</html>
Voilà,la page index.php je l'ai minimiser pour l'exemple,
Maintenant si je lance ma page de pagination (je suis en local) l'url se présentera de la façon suivante :
localhost/site/index.php?page=pagination
Jusque là pas de problème.
Mais quand je pagine la page l'url se présente sous cette forme:
localhost/site/index.php?page=1
localhost/site/index.php?page=2
etc etc etc. pour tout les donnée appelée dans ma bdd, et cela me ramène à la page par default accueil.php.
Comment..? Dois-je procéder pour que ma pagination fonctionne sans être obliger de toucher à mon code de pseudo frame....????
Dans l'attente de votre aide je vous dis d'avance....
Un grand MERCI