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 :

affichage des données par page


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Points : 26
    Points
    26
    Par défaut affichage des données par page
    bonjours;

    SVP, je suis débutant en php, j'ai un script php ,dont lequel je veux afficher les données d'un tableau par bloc et avoir un bouton "suivant" et bouton "précédent"
    mais le script ne marche pas , je ne sais pas ou se trouve l'erreur
    voici le code et merci d'avance.
    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
    <html>
    <body>
    <?php
    session_start();
    include("connexion.php");
    connect($host,$user,$mot_passe,$db_name);
    if ( !session_is_registered("authen_user")){
    #echo '<META HTTP-EQUIV="refresh" CONTENT="0;URL=index.php?erreur=404">';
    #redirection instantanée
    header("location:index.php?erreur=404");
     
    $select = SELECT id FROM pc ORDER BY  id ASC  LIMIT 50;
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        echo '<table bgcolor="#FFFFFF">'."\n";
     
            echo '<td bgcolor="#669999"><b><u>id</u></b></td>';
            echo '</tr>'."\n";
     
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
            echo '<td bgcolor="#CCCCCC">'.$row['id'].'</td>';
            echo '</tr>'."\n";
        }
        echo '</table>'."\n";
     
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    $nombre = 50;  // on va afficher 50 résultats par page.
    if (!isset($limite)) $limite = 0; .
     
    $path_parts = pathinfo($_SERVER['PHP_SELF']);
    $page = $path_parts['id'];
     
    // initialisation des variable suivant et précédent
    $limitesuivante = $limite + $nombre;
    $limiteprecedente = $limite - $nombre;
    // button "précedent"
    if($limite != 0) {
        echo '<form action="'.$page.'" method="post">';
        echo '<input type="submit" value="précédents">';
        echo '<input type="hidden" value="'.$limiteprecedente.'" name="limite">';
        echo '</form>';
    }
    //button" suivant"
    if($limitesuivante < $total) {
        echo '<form action="'.$page.'" method="post">';
        echo '<input type="submit" value="suivants">';
        echo '<input type="hidden" value="'.$limitesuivante.'" name="limite">';
        echo '</form>';                
    }
     
    }
     
    ?>
    </body>
    </html>

  2. #2
    Membre du Club
    Femme Profil pro
    futur développeur
    Inscrit en
    Janvier 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Maroc

    Informations professionnelles :
    Activité : futur développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 135
    Points : 48
    Points
    48
    Par défaut
    essayez de mettre la requête SELECT entre les guillemets
    c'est ce que j'ai remarqué au 1er coup

    bon courage

  3. #3
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    si je peux me permettre quelques petites remarques, il vaudrait mieux que tu mettes les lignes html en dehors du php, je m'explique:

    Ce que tu as fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if($limite != 0) {
    echo '<form action="'.$page.'" method="post">';
    echo '<input type="submit" value="précédents">';
    echo '<input type="hidden" value="'.$limiteprecedente.'" name="limite">';
    echo '</form>';
    }
    Ce qu'il vaudrait mieux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($limite != 0) {
    ?>
    <form action="'.$page.'" method="post">
       <input type="submit" value="précédents">
       <input type="hidden" value="'.$limiteprecedente.'" name="limite">
    </form>
    <?php
    }
    Ensuite je ne sais pas si ton session_start() va marcher car il ne se situe pas au départ de ton code, il est souvent recommandé de le placer au départ de ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    session_start();
    ?>
    <html>
    .
    .
    d'ailleur je ne vois pas pourquoi tu utilises un session_start??

    Et ensuite il me semble que tu as un erreur au niveau de ta requete, ta limit ne change pas du coup je ne vois pas comment tu vas modifier l'affichage?
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  4. #4
    Invité
    Invité(e)
    Par défaut
    Correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
    if($limite != 0) {
    ?>
    <form action="<?php echo $page; ?>" method="post">
       <input type="submit" name="(????)" value="précédents" />
       <input type="hidden" name="limite" value="<?php echo $limiteprecedente; ?>" />
    </form>
    <?php
    }
    ?>

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/11/2008, 15h09
  2. Réponses: 2
    Dernier message: 12/09/2008, 12h30
  3. affichage des données par clé
    Par adenov dans le forum IHM
    Réponses: 1
    Dernier message: 04/09/2007, 12h32
  4. Réponses: 3
    Dernier message: 04/07/2007, 22h00
  5. [Tableaux] Affichage des données par lot
    Par randriarabe dans le forum Langage
    Réponses: 1
    Dernier message: 07/12/2005, 09h23

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