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 :

Problème d'affichage par page [Débutant(e)] [MySQL]


Sujet :

PHP & Base de données

  1. #1
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut Problème d'affichage par page
    Bonjour,

    Je débute et tente depuis plusieurs jours d'adapter différents scripts pour afficher mes résultats par page.
    La barre de navigation apparait de même que les résultats demandés.
    Mais lors de l'envoi aux pages suivante l'index: communes est indéfini.
    Si quelqu'un peut me dire où je dois transmettre la variable communes aux pages html suivantes Merci d'avance Nal
    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
     
    <?php
     $choix5=$_POST['communes'];
    $requete= "SELECT * FROM Cartes_postales WHERE Nom_commune='$choix5'";
            $ret = mysql_query($requete);
     
         $page = isset($_GET['page']) ? $_GET['page'] : '';
     
            $limit=4;
            $debut ="";
            $page = 0;
            if($debut==""){$debut=0;}
            $debut=$page*$limit;
     
            $nb_total=mysql_num_rows($ret);
            // Requete
            $limite=mysql_query("$requete limit $debut,$limit");
     
            $ici =  $_SERVER['PHP_SELF'];
            // Affiche le page par page avec ses liens
            if ($page>0) {
            $precedent=$page-1;
            echo "<a href=\"$ici?page=$precedent\">PRECEDENT</a>";
            }
     
            $i=0;
            $j=1;
     
            if($nb_total>$limit) {
            while($i<($nb_total/$limit)) {
            if($i!=$page){echo "<a href=\"$ici?page=$i\">$j</a> ";}
            else { echo "<b>$j</b>";}
            $i++;$j++;
            }
            }
     
            if($debut+$limit<$nb_total) {
            $suivant=$page+1;
            echo "<a href=\"$ici?page=$suivant\">SUIVANT</a>";
            }
     
     
     
            $limit_str = "LIMIT ". $page * $limit .",$limit";
     
            $result = mysql_query("
                                 SELECT *
                                 FROM Cartes_postales
                                 WHERE Nom_commune='$choix5'
                                 ORDER BY Nom_commune
                                 ASC $limit_str");
            if ($row=mysql_fetch_array($result)){
             echo "<div id=marge_tableau3>";
                            echo "<table id=table2><td id=td7>Titre</td>";
                            echo "<td id=td7>Commune</td>";
                            echo "<td id=td7>Cote</td>";
                            echo "<td id=td7>Date</td>";
                            echo "<td id=td7>Editeur</td>";
                            echo "<td id=td7>Format</td>";
                            echo "<td id=td7>Visibilit&eacute;</td></table><br>";
                            echo "</div>";
      do {
     
                          echo "<div id=marge_tableau4>";
                          echo "<table id=table2><td id=td8><a href=images_cartes.php? cote=".$maligne['Cote_cartes_postales'].">";
                          echo $maligne['Titre_cartes_postales']."</td>";
                          echo "<td id=td5>".$maligne['Nom_commune']."</td>";
                          echo "<td id=td6>".$maligne['Cote_cartes_postales']."</td>";
                          echo "<td id=td5>".$maligne['Date_cartes_postales']."</td>";
                          echo "<td id=td6>".$maligne['Editeur']."</td>";
                          echo "<td id=td5>".$maligne['Format_cartes_postales']."</td>";
                          echo "<td id=td6><a id=a2 href=images_cartes.php?img=".$maligne['Image_cartes_postales'].">";
                     echo "<img src='logo_visibilite.jpg'/></td></table></a><br>"; 
                          echo "</div>";
    }while ($row=mysql_fetch_array($result));
     
    } 
    else {
             echo "Aucun carte postale n'a &eacute;t&eacute; m&eacute;moris&eacute;e pour cette commune!";
     
     }
     
    ?>

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    Salut,

    déjà là c'est pas bon:
    $page = isset($_GET['page']) ? $_GET['page'] : '';

    $limit=4;
    $debut ="";
    $page = 0;
    Tu récupères la page, puis ensuite tu l'ecrases. Donc il faut supprimer la mise à zéro de page et remplacer le null par 0 dans la 1ere ligne.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    Salut,

    déjà là c'est pas bon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          $page = isset($_GET['page']) ? $_GET['page'] : '';
     
            $limit=4;
            $debut ="";
            $page = 0;
    Tu récupères la page, puis ensuite tu l'ecrases. Donc il faut supprimer la mise à zéro de page et remplacer le null par 0 dans la 1ere ligne.

  4. #4
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut [débutant]problème d'affichage par page
    J'ai changé ce que tu m'a dit, par contre au sujet de la transmission de l'index 'communes' aux pages suivantes html.
    Pourrais-tu me dire où je dois transmettre la variable?

    Merci Nal

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Pour transmettre ta variable commune tu as trois possibilités :
    - soit tu passes par un formulaire
    - soit tu la passes toi-même par l'URL : mapage.php?commune=valeur
    - si tu dois propager la valeur à moult pages passe par les sessions

    Mais pour s'en servir il faut aller dans une page PHP et pas HTML.

  6. #6
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Juste avant de lire ta réponse j'ai changé l'intitulé de ma question:
    en fait les réponses du tableau s'affichent normalement mais je vois pas où je peux transmettre l'index 'communes' du $_POST ['communes] pour que la valeur du formulaire soit transmise aux autres pages.

  7. #7
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Et ma réponse ne colle pas au problème ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($i!=$page){echo "<a href=\"$ici?page=$i\">$j</a> ";}
    Deviens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($i!=$page){echo "<a href=\"$ici?page=$i&commune=x\">$j</a> ";}
    C'est plus clair comme ça?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Je viens de relire ton code:
    évite absolument les Ca va ralentir l'exécution des requêtes.
    Quand c'est possible, indique le nom des colonnes à récupérer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT colonne1,colonne2 FROM ...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Alors, à trois endroits dans ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            echo "<a href=\"$ici?page=$precedent\">PRECEDENT</a>";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      if($i!=$page){echo "<a href=\"$ici?page=$i\">$j</a> ";}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href=\"$ici?page=$suivant\">SUIVANT</a>";
    Et ça devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if($i!=$page){echo "<a href=\"$ici?page=$i&commune=x\">$j</a>
    Pour la deuxième ligne. Pareil pour les autres.

    EDIT: Beuh, il a enlevé sa question!

  11. #11
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    J'ai modifié les lignes comme tu m'as dit mais l'index 'communes' reste toujours indéfini (même en rajoutant le s final...)
    Voilà ma modification:si tu vois d'où ça peut venir?
    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
     
     $precedent=$page-1;
            echo "<a href=\"$ici?page=$i&communes=x\">PRECEDENT</a>";
            }
     
            $i=0;
            $j=1;
     
            if($nb_total>$limit) {
            while($i<($nb_total/$limit)) {
            if($i!=$page){echo "<a href=\"$ici?page=$i&communes=x\">$j</a>";}
            else { echo "<b>$j</b>";}
            $i++;$j++;
            }
            }
     
            if($debut+$limit<$nb_total) {
            $suivant=$page+1;
            echo "<a href=\"$ici?page=$i&communes=x\">SUIVANT</a>";
            }

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 36
    Par défaut
    Commence par remplacer x par la valeur de ta variable commune, ça sera déjà mieux!

  13. #13
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par FBSVGR
    Commence par remplacer x par la valeur de ta variable commune, ça sera déjà mieux!
    ca va rien changer si ça marche pas comme ça ça marchera pas mieux.

  14. #14
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    J'ai essayé avec :
    if($i!=$page){echo "<a href=\"$ici?page=$i&communes='Nom_commune'\">$j</a>";}

    avec : if($i!=$page){echo "<a href=\"$ici?page=$i&communes='$choix5'\">$j</a>";}

    et avec :if($i!=$page){echo "<a href=\"$ici?page=$i&communes=".$row['Nom_commune']."\">$j</a>";}

    et ça veut toujours pas marcher , en particulier pour la dernière solution ça m'affiche que le $row n'est pas défini

  15. #15
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    J'ai modifié mon code depuis tout à l'heure pour tenter le :communes='$row".$maligne['Nom_commune']." mais l'index communes reste toujours inidentifié aux pages suivante, j'ai essayé de toute les manières là je trouve plus, si quelqu'un a une idée. Merci d'avance Nal
    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
     
    <?php
     $choix5=$_POST['communes'];
    $requete= "SELECT * FROM Cartes_postales WHERE Nom_commune='$choix5'";
            $ret = mysql_query($requete);
     
         $page = isset($_GET['page']) ? $_GET['page'] : '0';
     
            $limit=4;
            $debut ="";
     
            if($debut==""){$debut=0;}
            $debut=$page*$limit;
     
            $nb_total=mysql_num_rows($ret);
            // Requete
            $limite=mysql_query("$requete limit $debut,$limit");
     
            $ici =  $_SERVER['PHP_SELF'];
     
     
     
            $limit_str = "LIMIT ". $page * $limit .",$limit";
     
            $result = mysql_query("
                                 SELECT *
                                 FROM Cartes_postales
                                 WHERE Nom_commune='$choix5'
                                 ORDER BY Nom_commune
                                 ASC $limit_str");
            if ($row=mysql_fetch_array($result)){
             echo "<div id=marge_tableau3>";
                            echo "<table id=table2><td id=td7>Titre</td>";
                            echo "<td id=td7>Commune</td>";
                            echo "<td id=td7>Cote</td>";
                            echo "<td id=td7>Date</td>";
                            echo "<td id=td7>Editeur</td>";
                            echo "<td id=td7>Format</td>";
                            echo "<td id=td7>Visibilit&eacute;</td></table><br>";
                            echo "</div>";
      do {
     
                          echo "<div id=marge_tableau4>";
                          echo "<table id=table2><td id=td8><a href=images_cartes.php? cote=".$row['Cote_cartes_postales'].">";
                          echo $row['Titre_cartes_postales']."</td>";
                          echo "<td id=td5>".$row['Nom_commune']."</td>";
                          echo "<td id=td6>".$row['Cote_cartes_postales']."</td>";
                          echo "<td id=td5>".$row['Date_cartes_postales']."</td>";
                          echo "<td id=td6>".$row['Editeur']."</td>";
                          echo "<td id=td5>".$row['Format_cartes_postales']."</td>";
                          echo "<td id=td6><a id=a2 href=images_cartes.php?img=".$row['Image_cartes_postales'].">";
                     echo "<img src='logo_visibilite.jpg'/></td></table></a><br>"; 
                          echo "</div>";
    }while ($row=mysql_fetch_array($result));
     
    } 
    else {
             echo "Aucun carte postale n'a &eacute;t&eacute; m&eacute;moris&eacute;e pour cette commune!";
     
     }
     // Affiche le page par page avec ses liens
            if ($page>0) {
            $precedent=$page-1;
            echo "<a href=\"$ici?page=$i&communes=$row Nom_commune\>PRECEDENT</a>";
            }
     
            $i=0;
            $j=1;
     
            if($nb_total>$limit) {
            while($i<($nb_total/$limit)) {
            if($i!=$page){echo "<a href=\"$ici?page=$i&communes=$row Nom_commune\>$j</a>";}
            else { echo "<b>$j</b>";}
            $i++;$j++;
            }
            }
     
            if($debut+$limit<$nb_total) {
            $suivant=$page+1;
            echo "<a href=\"$ici?page=$i&communes=$row Nom_commune\>SUIVANT</a>";
            }       
    ?>

  16. #16
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Peux-tu nous recopier l'URL qui s'affiche pour tes pages ?

    En tout cas ça doit pas être correct ça :

  17. #17
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Tu veux dire le message d'erreur?:

    Notice: Undefined index: communes in E:\Sites\gestion\archives\site\culture\archives\archives_enligne\recherche_cartes_postales\reponse_cartes_postales.php on line 30

  18. #18
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    Là je suis sur un serveur local

  19. #19
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Non l'URL...
    Ce qui s'affiche dans la barre d'adresse de ton navigateur quand tu es sur la page générant l'erreur. Si t'es en local ça change rien.

  20. #20
    nal
    nal est déconnecté
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Par défaut
    http://gestion/testbdd/reponse_cartes_postales.php?

    page=5&communes=%20Nom_commune\>6</a><a%20href=

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Probléme affichage par page
    Par Jérém08 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/10/2009, 12h12
  2. Moteur de recherche, affichage par page et url rewriting
    Par paupiette dans le forum Langage
    Réponses: 5
    Dernier message: 22/06/2007, 10h45
  3. Réponses: 1
    Dernier message: 17/01/2006, 10h47
  4. [ADSL] Problème d'affichage des pages
    Par adam22 dans le forum Dépannage et Assistance
    Réponses: 9
    Dernier message: 07/12/2005, 14h36

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