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 :

Calcul non fait ou non affiché [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 9
    Par défaut Calcul non fait ou non affiché
    Bonsoir,

    J'ai une page qui contient une carte cliquable.
    Sur le clic on déclenche une url comme suit: $url?dpt=1
    Dans la page $url j'ai un limit=100
    et un calcul de nombre de page et lui ne marche pas
    Voici la page en vrai http://lyon.voyeaud.org/carte/carte-inc.php et cliquez sur le 69 ou le 38 par exemple où il y a respectivement 26 et 7 pages

    Si je clique sur le chiffre 1 en bas de page puis que je modifie l'url à la main cela marche.

    Merci de votre aide

    Voici le code
    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
     
    // Récupération des éléments de recherches
    $dpt=$_REQUEST['dpt'];
    $j=$_REQUEST['j'];
    $nb_pages=$_REQUEST['nb_pages'];
    $ligne_debut=$_REQUEST['$ligne_debut'];
    $page=$_REQUEST['page'];
     
     
    //CONSTRUCTION DE LA CLAUSE 'WHERE'
    if ($dpt){ // Si un nom est inscrit dans le formulaire
    $where=" WHERE Code_Dpt_N = ". $dpt."";
    }
     
    //CONSTRUCTION DE LA CLAUSE 'LIMIT'
    //Nombre d'enregistrements souhaités par page
    $nb_par_page=100;
     
    if (!$page){
       $ligne_debut=0;
    }
    else{
       $page=$page-1;
       $ligne_debut=$page*$nb_par_page;
    }
     
    $limit=" LIMIT ".$ligne_debut.", ".$nb_par_page;
     
    //REQUETE SQL
    $qry="SELECT * FROM $table".$where." ORDER BY Nom " .$limit;
    //echo $qry;
     
    //EXECUTION DE LA REQUETE
    $result=mysql_query($qry);
     
    $nb_pages=($nb_fiches_max/$nb_par_page);
    $nb_pages=ceil($nb_pages);
     
    //CALCUL DU NOMBRE DE PAGES
     
    if (!$nb_pages) { // Si le nb de pages n'a encore jamais été calculé
     
       if ($dpt){ 
          $nb_fiches_max=mysql_num_rows($result);
       }
       else{
          $qry2="SELECT * FROM $table";
          //echo $qry2;
          $result2=mysql_query($qry2);
          $nb_fiches_max=mysql_num_rows($result2);
       }
       $nb_pages=($nb_fiches_max/$nb_par_page);
       $nb_pages=ceil($nb_pages);
    }
     
     
    <!-- LIENS VERS LES AUTRES PAGES -->
    <div align="center" class="pages">
    <?php 
    $i=0;
    while ($i <= $nb_pages-1):
       $j=$i+1;
       if ((!$dpt)){
          echo "<span class=\"page\"><a href=\"dpt_N.php?page=".$j."&nb_pages=".$nb_pages."\">".$j."</a></span>\n";
       } 
       else if (($dpt)) {
          echo "<span class=\"page\"><a href=\"dpt_N.php?page=".$j."&nb_pages=".$nb_pages."&dpt=".$dpt."\">".$j."</a></span>\n";
       }
       else{
          echo "<span class=\"page\"><a href=\"dpt_N.php?page=".$j."&nb_pages=".$nb_pages."&dpt=".$dpt."\">".$j."</a></span>\n";
       }
        $i++;
    endwhile;
    ?>

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    ton nombre de pages $nb_pages est calculé comme ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nb_pages=($nb_fiches_max/$nb_par_page);

    or, ton $nb_fiches_max n'est défini nul part avant.

    Tu peux aussi remplacer $_REQUEST par $_GET dans ton cas de figure

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 9
    Par défaut
    Merci de ta réponse.

    Si j'inverse les sections 'exécution de la requête' et 'calcul du nombre de pages'

    Cela devrait marcher?

    Différence entre request et get sur ce coup?

    Amitiés et merci d'avance

    --
    Yannick VOYEAUD

  4. #4
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    $_REQUEST :

    Un tableau associatif qui contient par défaut le contenu des variables $_GET, $_POST et $_COOKIE.
    Si tes valeurs viennent en $_GET, alors autant utiliser $_GET directement

    Citation Envoyé par yannig38 Voir le message
    Si j'inverse les sections 'exécution de la requête' et 'calcul du nombre de pages'

    Cela devrait marcher?
    Probable oui, en tout cas cela a une chance de marcher contrairement à avant

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 9
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Probable oui, en tout cas cela a une chance de marcher contrairement à avant
    Cela ne marche pas ça me déclenche une erreur!

    Je crois que cela vient de $dpt qui n'est pas propre. Cette variable devrait être prise en compte via la page précédente qui appelle $url?dpt=1 que je devrais probablement rectifier en 01! Tant que cela ne marche pas avec 69 je ne peux rien faire
    Voici le code d'appel de la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    require("count.txt");           
    $url="http://lyon.voyeaud.org/carte/dpt_N.php";
    echo "<center>";
    echo "<center>Cliquez sur le département de votre choix pour consulter les documents correspondants<br /><br />";
    echo "<img src=\"map.php\" width=\"582\" border=\"0\" height=\"650\" usemap=\"#Carte\" alt=\"carte de france\" />";
    echo "<map id=\"Carte\" name=\"Carte\">";
    echo "<area shape=\"circle\" coords=\"380, 315, 13\" href=\"$url?dpt=69\" title=\"Rhône, $t69 fiches\" />";

  6. #6
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Ton

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ($dpt)
       .....

    et plus généralement tes autres if($...) ne sont pas vraiment corrects car si l'url ne contient pas ces variables alors -> erreur.

    Il faudrait faire plutot ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (isset($dpt))
       .....
    Par ailleurs pour le 69, je vois maintenant 105 pages

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 9
    Par défaut
    Citation Envoyé par yannig38 Voir le message
    Cela ne marche pas ça me déclenche une erreur!

    Je crois que cela vient de $dpt qui n'est pas propre. Cette variable devrait être prise en compte via la page précédente qui appelle $url?dpt=1 que je devrais probablement rectifier en 01!
    Ce qui me surprend c'est que cela marche impeccable avec un formulaire classique (heureusement)

    Amitiés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul d'une enveloppe non convexe d'un nuage de points
    Par kamelcompte dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 11/02/2009, 12h46
  2. Rechargement non fait
    Par kev484 dans le forum Langage
    Réponses: 9
    Dernier message: 21/01/2008, 20h03
  3. Calcul pour une condition non satifsaite
    Par NELLLY dans le forum MATLAB
    Réponses: 4
    Dernier message: 16/01/2008, 07h03
  4. tracé de courbe non fait dans Graphics
    Par skud dans le forum C#
    Réponses: 1
    Dernier message: 13/06/2007, 20h18
  5. [Administration] Authentification non faite
    Par manaboko dans le forum Subversion
    Réponses: 2
    Dernier message: 13/04/2007, 10h00

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