Souci de pagination [Fermé]

Signaler
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
-
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
-
Bonjour à tous j'ai fais une page affichant la liste d'un enregistrement avec une pagination , l'ennui c'est que quand je clic sur le n°1 ou n°3 la page me montre toujours la première page c'est a dire la page 1.
voici mon code un coup de main svp
<?php
include ('../codes/bdcon.php');
if(!isset($_GET['page'])|| $_GET['page']=='0')
{
$page_actuelle=1; 
} else{
   $page_actuelle=$_GET['page'];
}

$fin=10;
$deb=($page_actuelle-1)*$fin;
$req="select nom_service from service limit ".$deb.",".$fin;
$reponse = $bdd ->query($req);
?>

6 réponses

Messages postés
32054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 392
Bonjour,

Lorsque tu affiche cette deuxième page ... que contient l'url ??
La variable "page" existe et est renseignée ??

PS: Ton IF
if(!isset($_GET['page'])|| $_GET['page']=='0')
{
$page_actuelle=1; 
} else{
   $page_actuelle=$_GET['page'];
}

peut plus simplement s'écrire :
$page_actuelle = !empty($_GET['page']) && $_GET['page'] !=0 ? $_GET['page'] : 1;

Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
43
oui la variable page existe dans l'url mais ça ne passe pas
Messages postés
32054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 392
Peux tu me coller l'url ?
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
43
http://localhost/gestpiece/admin/service.php?page=3
Messages postés
32054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 392
ok.
Tu as fait la correction que je t'ai donné pour la variable $page_actuelle ?
Sinon fais la.

Puis fais un echo de la variable $req stp.
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
43
j'ai changé la variable , le echo me donne ceux-ci et j'ai testé la requête dans la bd il sélectionne les éléments qu'il faut
select nom_service from service limit 30,10
Messages postés
32054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 392
Et sur ta page ce n'est toujours pas bon ??
Montres le code complet de ta page.
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
43
<?php
include ('../codes/bdcon.php');

$page_actuelle= !empty($_GET['page']) && $_GET['page'] !=0 ? $_GET['page'] : 1; 

$fin=10;
$deb=($page_actuelle-1)*$fin;
$req="select nom_service from service limit ".$deb.",".$fin;
$reponse = $bdd ->query($req);
echo $req;
?>
  <style>
        body{
          background-image: url(background.png);
          font-family: 'Open Sans',sans-serif;
          font-weight: 400;
          font-size: 13px;
        }
 
        input [type=email] { 
          background-color: #F0DDDD;
          border-color: #e88;
          -webkit-box-shadow: 0 0 5px rgba(255, 0, 0, .8);
          -moz-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
          -o-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
          -ms-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
          box-shadow:0 0 5px rgba(255, 0, 0, .8);
        }
 
        form {
          width:300px;
          margin: 20px auto;
        }
 
        input {
          font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
          border:1px solid #ccc;
          font-size:20px;
          width:300px;
          min-height:30px;
          display:block;
          margin-bottom:15px;
          margin-top:5px;
          outline: none;
 
          -webkit-border-radius:5px;
          -moz-border-radius:5px;
          -o-border-radius:5px;
          -ms-border-radius:5px;
          border-radius:5px;
        }
 
        input[type=submit] {
          background:none;
          padding:10px;
          cursor: pointer;
             background-color: #F0DDDD;
          border-color: #e88;
          -webkit-box-shadow: 0 0 5px rgba(255, 0, 0, .8);
          -moz-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
          -o-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
          -ms-box-shadow: 0 0 5px rbba(255, 0, 0, .8);
          box-shadow:0 0 5px rgba(255, 0, 0, .8);
        }
 
        label{
          cursor: pointer;
          
        }
        /*div.panel-body{
            background: #F0DDDD;
        }*/
       /* Règle de base pour le lien */ 
            a{ 
                color:#4c0ed8; 
                 
            } 
            a:hover,a:focus{
                color:#000;
            }
            
            /* Position et couleur bulle */
            a span{ 
                position:absolute;
                margin-top:25px; 
                margin-left:-25px;
                color:#fff; 
                background:rgba(0, 0, 0, 0.5); 
                padding:25px; 
                border-radius:3px; 
                
                /* Faire disparaire infobulle par défaut */
                /* On determine l'origine de la rotation */ 
                transform:scale(0) rotate(-180deg);
                /* Faire durer l'effet */
                transition:all .25s;
                /* Effet sur la transparence */ 
                opacity:0;
            }
            
            /* Apparition de la bulle avec le scale à 1 */ 
            a:hover span, a:focus span{ 
                transform:scale(1) rotate(0);
                /* Effet sur la transparence */ 
                opacity:1;
            }  
        
    </style>
<?php 
include 'entete.php';
?><img src="../img/formation.jpg"> <img src="../img/form1.png"> 
<div align="center" class="row">
                <div class="col-lg-4">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                        ENREGISTREMENT DES SERVICES DU CHU
                        </div>
                        <div class="panel-body">
                            <p> <form method='post' name="#">
<label>Nom du service: <font color="red"><em>* </em></font></label>
        <input type="text" id="nservice" name="nomService" placeholder="informatique" >  
</p>  
  <p> <a href="#" style="text-decoration:none;"> 
        <input name="valider" type="submit" value="Enregistrer"></a> </p>
        </form>
  <?php
if(isset($_POST['valider']))
{
$service=addslashes($_POST['nomService']);
include('../codes/bdcon.php');
 // Vérification de l'element existant
$req = $bdd->prepare('SELECT * FROM service WHERE nom_Service = :nomService');
$req->execute(array(
'nomService' => $service));
$resultat =$req->fetch();
if ($resultat)
{
         echo '<h3>Ce service existe déjà!<img src="../img/surprised.gif"></h3><br>';
} 
else {

    $reponse = $bdd->query('INSERT INTO service (nom_service)
               VALUES("'.$service.'")');
echo '<h3>Nouveau service ajouté <img src="../img/check.png"> </h3>';

}

  }  
?>
         </p>
                        </div>
                        <div class="panel-footer">
                            Les champs (<font color="red">*</font>) sont obligatoires!
                        </div>
                    </div>
                </div>   <div align="center">
               <!-- /.col-lg-4 -->     
            </div>             
   <div align class="col-lg-6">
                    <div class="panel panel-default" >
                        <div class="panel-heading">
                            Liste des services
                        </div>
                        <!-- /.panel-heading -->
                        <div class="panel-body">
                            <div class="table-responsive table-bordered">
                                <table class="table">
                                   <div class="col-sm-3 col-md-3 pull-right">
            <form class="navbar-form" role="search">
                <div class="input-group">
                    <input type="text" class="form-control" placeholder="Rechercher" name="q">
                    <div class="input-group-btn">
                        <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search" width="1"></i></button>
                    </div>
                </div>
            </form>
        </div>
                                    <thead>
                                        <tr>
                                            <th>Nom du service</th>
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr>
                                            <td><?php
                                            include('../codes/bdcon.php');
                                            $nombreDeMessagesParPage =10;
                                            $page_actuelle = 1 ;
                                            $reponse = $bdd->query('SELECT * FROM service order by nom_service limit '.$page_actuelle = 1 .','.$nombreDeMessagesParPage.'');
                                                    while ($donnees = $reponse->fetch())
                                                 {    
                                               echo $donnees['nom_service'].'<hr/><br>';
                                         }?><td><?php
                                           include('../codes/bdcon.php');
                                             $reponse = $bdd->query('SELECT * FROM service order by nom_service limit '.$page_actuelle = 1 .','.$nombreDeMessagesParPage.'');
                              
                                            while ($donnees = $reponse->fetch())
                                                 {    
                                             echo ' <a style="text-decoration:none" href="editeserv.php?id_service='.$donnees['id_service'].'">Editer</a>
                    <a style="text-decoration:none" href="supserv.php?id_service='.$donnees['id_service'].'"
                   >Supprimer</a><hr/></br>';}?>
                                          </td>   
                                    </tbody>
                                </table>
                            </div>
                            <!-- /.table-responsive -->
                            <?php
$nombreDeMessagesParPage = 10;
$retour = $bdd->query('SELECT COUNT(*) AS nom_service FROM service');
$donnees = $retour->fetch();
$totalDesMessages = $donnees['nom_service'];
$nombreDePages = ceil($totalDesMessages /
$nombreDeMessagesParPage);
echo '<br>Page :';
 for ($page_actuelle=1; $page_actuelle <=$nombreDePages ;$page_actuelle++)
 { 
   ?> <a href="service.php?page=<?php echo $page_actuelle ?>" style="text-decoration: none"><?php echo $page_actuelle ?></a><?php
 }
  ?>
                        </div>
                        <!-- /.panel-body -->
                    </div>
                    <!-- /.panel -->
                </div>     
    
       </div>
    </div> </br> </br> </br></div> </br> 
           
            
<div align="center">
<?php include 'footer.php';?>
</div>     
Messages postés
32054
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 avril 2021
3 392
Donc...
lignes 2 à 10 .. tu as :
include ('../codes/bdcon.php');

$page_actuelle= !empty($_GET['page']) && $_GET['page'] !=0 ? $_GET['page'] : 1; 

$fin=10;
$deb=($page_actuelle-1)*$fin;
$req="select nom_service from service limit ".$deb.",".$fin;
$reponse = $bdd ->query($req);
echo $req;


.... et lignes 192 - 197 ...
  include('../codes/bdcon.php');
                                            $nombreDeMessagesParPage =10;
                                            $page_actuelle = 1 ;
                                            $reponse = $bdd->query('SELECT * FROM service order by nom_service limit '.$page_actuelle = 1 .','.$nombreDeMessagesParPage.'');


Ne penses-tu pas qu'il y a un petit conflit ?????


NB : Pour rendre ton code plus simple à lire et à deboguer.... prends l'habitude de placer le maximum de code PHP ... AVANT le code HTML....
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
43
je ne comprend pas