IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Afficher page par page


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut Afficher page par page
    voilà mon code qui affiche une liste de candidat dans un tableau page par page, mais le problème quand j'appuie sur la page 2 ou 3 par exemple il reste figé sur la première page. il n'affiche pas les page suivantes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    <?php
    session_start();
    include("msg_fonctions.php");
     
    // Grader le nom de la page actuelle dans la session
    $_SESSION['nom_page'] = basename(__file__);
     
    echo '<html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	<link rel="STYLESHEET" href="monstyle.css" Type="text/css">
    	<title>Document sans titre</title>
    	</head><body>';
     
    echo '<br><br><br>
    	 <p align=center class="entet_intranet">
    	  <b>BIENVENU - ADMINISTRATEUR DE L\'UNIVERSITE DE  <font size=4 color=white>'.$_SESSION['nom'].'</font><b>
    	 </p>';
     
    // Numéro de la page à afficher
    $page = 0;
    if(isset($_GET['page']) && is_int($_GET['page'])) {
    $page = $_GET['page'];
    }
    // Nombre de résultats par page
    $nb = 10;
    if(isset($_GET['nb']) && is_int($_GET['nb'])) {
    $nb = $_GET['nb'];
    }
     
    // Connexion au serveur de base de données
    $db=connexion();
     
    // Nombre total d'enregistrements
    $sql = '
    SELECT COUNT(DISTINCT c.num_insc) FROM msg_candidat c JOIN msg_postuler p ON c.num_insc=p.num_insc WHERE code_univ="'.$_SESSION['code'].'" AND priorite=0';
    $query = mysql_query($sql) or die('Erreur MySQL : '.mysql_error());
    $row = mysql_fetch_row($query);
    $total = $row[0];
     
    // Nombre total de candidats postulants
    $sql = '
    SELECT COUNT(DISTINCT num_insc) FROM msg_postuler WHERE code_univ="'.$_SESSION['code'].'" AND priorite!=0';
    $req = mysql_query($sql) or die('Erreur MySQL : '.mysql_error());
    $row = mysql_fetch_row($req);
    $postul = $row[0];
     
    // Nombre total de transferts
    $sql = '
    SELECT COUNT(DISTINCT num_insc) FROM msg_transfert WHERE code_univ2="'.$_SESSION['code'].'" AND ok=1';
    $req = mysql_query($sql) or die('Erreur MySQL : '.mysql_error());
    $row = mysql_fetch_row($req);
    $trans = $row[0];
     
    echo '<p align=center>
    		<table class="entet_tableau" WIDTH="30%" height="7%" border="0" cellpadding="1" cellspacing="2" bgcolor="#0099FF">
    		<tr class="p2" align=center>
    		<td>NB Inscrits</td><td>NB Postulés</td><td>NB Transferts</td>
    		</tr>
    		<tr align=center>
    		<td>'.$total.'</td><td>'.$postul.'</td><td>'.$trans.'</td>
    		</tr>
    		</table></p><br><br>';
     
    // Nombre maximum de pages
    $max_pg = ceil($total / $nb);
    // Selection des enregistrements pour la page considérée
    $sql = ' SELECT DISTINCT c.num_insc,nom,prenom,etat_dossier FROM msg_candidat c JOIN msg_postuler p ON p.num_insc=c.num_insc WHERE code_univ="'.$_SESSION['code'].'" AND priorite=0 LIMIT '.($page * $nb).','.$nb;
    $query = mysql_query($sql) or die('Erreur MySQL : '.mysql_error());
     
    echo '<p align=center>Page actuelle : '.$page.'</p>
    	<p align=center><table WIDTH="50%" height="auto" border="1" cellpadding="1" cellspacing="2" bgcolor="#0099FF">
    	<tr class="p2" align=center style="height:2em">
    	<td>N° Insc</td>
    	<td>Nom</td>
    	<td>Prénom</td>
    	<td>Dossier</td>
    	<td>Pointage</td>
    	</tr>';
     
    while($list = mysql_fetch_assoc($query)) {
    	echo '<tr align=center class="p3" style="height:3em">';
    	echo '<td>'.$list['num_insc'].'</td>';
    	echo '<td>'.$list['nom'].'</td>';
    	echo '<td>'.$list['prenom'].'</td>';
    	echo '<td>'.$list['etat_dossier'].'</td>';
    	echo '<td><a href="msg_pointer.php?num='.$list['num_insc'].'" class="commentaire" target="_blank"><b>POINTER</b></a></td>';
    	echo '</tr>';
    }
     
    echo '</table></p>
    	<p align=center>Pages :';
     
    for($i = 0 ; $i < $max_pg ; $i++) {
    echo ' <a href=""'.$_SESSION['nom_page'].'"?page='.$i.'&nb='.$nb.'" class="p2">'.$i.'</a>';
    }
     
    echo '</p>
    	<p align=center>Nb d\'enregistrements par page :
    	<a href="'.$_SESSION['nom_page'].'?page=<?= '.$page.' ?>&nb=5" class="p2">5</a>
    	<a href="'.$_SESSION['nom_page'].'?page=<?= '.$page.' ?>&nb=10" class="p2">10</a>
    	<a href="'.$_SESSION['nom_page'].'?page=<?= '.$page.' ?>&nb=20" class="p2">20</a></p>';
     
     
    echo '
    	</body>
    	</html>';
     
    mysql_close($db);
    ?>
    merci beaucoup d'avance de m'aider

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Par défaut
    Bonjour

    tu écris ceci :

    echo ' <a href=""'.$_SESSION['nom_page'].'"?page='.$i.'&nb='.$nb.'" class="p2">'.$i.'</a>';

    les 2 "" aprés le href, est-ce mal recopié ou c'est comme cela dans ton code? Sinon, la faute vient de là. Il te renvoie toujours à la page d'où tu viens.
    De plus il y en a un de trop aprés le $nb. Je pense qu'il faut encadrer tout ton href avec " ", c'est tout.
    J'aurais vu : echo '<a href="'.$_SESSION['nom_page'].'?page='.$i.'&nb='.$nb.'" class="p2">'.$i.'</a>';

    bon courage!

Discussions similaires

  1. Afficher une nouvelle page par le menu contextuel
    Par ToniConti dans le forum Flex
    Réponses: 2
    Dernier message: 22/10/2010, 15h40
  2. [MySQL] afficher les enregistrements page par page
    Par hichamdeb dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/06/2009, 17h46
  3. afficher resultat page par page selon une recherche
    Par boss59840 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/03/2007, 18h12
  4. [MySQL] afficher plusieurs enregistrements par page par page à la volée
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/03/2006, 12h22
  5. [struts] afficher page par page une liste d'élément
    Par BurningPat dans le forum Struts 1
    Réponses: 6
    Dernier message: 27/09/2005, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo