Souci de pagination

delavega470 Messages postés 316 Statut Membre -  
delavega470 Messages postés 316 Statut Membre -
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

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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;
    

    0
  2. delavega470 Messages postés 316 Statut Membre 48
     
    oui la variable page existe dans l'url mais ça ne passe pas
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Peux tu me coller l'url ?
      0
  3. delavega470 Messages postés 316 Statut Membre 48
     
    http://localhost/gestpiece/admin/service.php?page=3
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      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.
      0
  4. delavega470 Messages postés 316 Statut Membre 48
     
    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
    
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Et sur ta page ce n'est toujours pas bon ??
      Montres le code complet de ta page.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. delavega470 Messages postés 316 Statut Membre 48
     
    <?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&eacutej&agrave!<img src="../img/surprised.gif"></h3><br>';
    } 
    else {
    
        $reponse = $bdd->query('INSERT INTO service (nom_service)
                   VALUES("'.$service.'")');
    echo '<h3>Nouveau service ajout&eacute <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>     
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      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....
      0
  7. delavega470 Messages postés 316 Statut Membre 48
     
    je ne comprend pas
    0