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

Langage PHP Discussion :

[Tableaux] Problème de boucles pour affichage de données dans 1 tableau


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut [Tableaux] Problème de boucles pour affichage de données dans 1 tableau
    Bonjour, voilà ce à quoi je souhaite arriver:
    Une premiere requete SLQ me donne l'identifiant et le nom d une personne. Le resultat de la reqeute liste dans un <td> le nom des (disons 30) personnes, avec recuperation de leur id pour une exploitation future
    <td><?
    $query = "SELECT * FROM personnes";
    $result = mysql_query($query);
    while ($val = mysql_fetch_array($result)) { ?>
    <? $zou=$val["idpersonne"];?>
    <? echo $val["nom"];?><br>
    <? }
    ?>
    </td>

    Dans le <td>suivant, je souhaiterais afficher par exemple, la ville de la personne, résultat d'une requete dans une autre table
    <td><?
    $query = "SELECT * FROM ville where nomville='$zou'";
    $result = mysql_query($query);
    while ($val = mysql_fetch_array($result)) { ?>
    <? echo $val["ville"];?><br>
    <? }
    ?>
    </td>

    Voilà, en faisant ce script, j'ai bien tous les noms de personnes listés, mais dans mon 2eme <td>, les villes corresponantes aux personnes ne sont pas listées.
    Je crois que mon problème vient d'une boucle. Pouvez vous éclairer ma lanterne.
    D avance merci
    David

  2. #2
    Membre habitué Avatar de ciesco
    Inscrit en
    Février 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 110
    Points : 127
    Points
    127
    Par défaut
    Comment sont mis tes 2 scripts l'un a la suite de l'autre?
    Car sinon dans ce cas ta variable $zou n'est pas propre a tes elements du premiers tableau quand tu l'utilises pour le deuxieme, c'ets egale a la derniere va leur.
    tu pourrais arranger ca en faiasnt et en l'adaptant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <td><? 
    $query = "SELECT * FROM personnes"; 
    $result = mysql_query($query); 
    while ($val = mysql_fetch_array($result)) { ?> 
    <? $zou=$val["idpersonne"];?> 
    <? echo $val["nom"];?><br> 
    <? putInfos($zou); ?>
    <? } 
    ?> 
    </td>
    et au dessus ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function putInfos(){
    echo "<td>" ;
    $query = "SELECT * FROM ville where nomville='$zou'"; 
    $result = mysql_query($query); 
    while ($val = mysql_fetch_array($result)) { ?> 
     echo $val["ville"]."<br>"; 
    } 
    echo "</td>"; ?>
    }?>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Voilà mon script exact:

    <td class="sidelink">
    <?
    // sélectionne les equipes NBA
    $query = "SELECT * FROM nba_equipes ";
    $result = mysql_query($query);
    while ($val = mysql_fetch_array($result)) { ?>
    <? $team=$val["idNBA_equipes"];?>
    <? echo $val["nomNBA_equipes"];?>
    <? putInfos($team);?>
    <br><? }
    ?>
    </td>
    <?function putInfos(){
    echo "<td class='sidelink'>" ;
    // sélectionne le nombre de points à domicile
    $query = "SELECT sum(pts_home) as total FROM nba_equipes,nba_matchs ";
    $query .= "where equipe_home=idNBA_equipes ";
    $query .= "and idNBA_equipes=$team";
    $result = mysql_query($query);
    while ($val = mysql_fetch_array($result)) {
    echo $val["total"]."<br>";
    }
    echo "</td>"; ?>
    <?}?>

    Il m'est repondu que la variable team est indéfinie...

  4. #4
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut,

    Dans ta déclaration de fonction tu ne déclare rien et dans le corps de celle-ci tu utilises $team qui n'est pas défini puisque à l'intérieur de la fonction.

    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?function putInfos(){
    echo "<td class='sidelink'>" ;
    // sélectionne le nombre de points à domicile
    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?function putInfos($team){
    echo "<td class='sidelink'>" ;
    // sélectionne le nombre de points à domicile
    Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2011, 11h10
  2. Réponses: 6
    Dernier message: 20/10/2009, 10h05
  3. [MySQL] Problème de boucle en récupérant les données dans un tableau
    Par Iratec dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/10/2009, 18h03
  4. Boucles pour récuperer les données d'un tableau dans un autre.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/09/2007, 21h39
  5. [Tableaux] affichage des données dans un tableau
    Par bilane dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 17h31

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