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 qui se répète [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Mai 2009
    Messages : 132
    Par défaut problème d'affichage qui se répète
    Bonjour,
    voici mon bout de code que j'ai pris sur une de mes pages d'affichage
    Code php : 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
     
    <?php do { ?>
              <tr>
    		  <?php if($counts!=0)  { ?>
    		    <td><div align="left"><?php echo $row_Rec['login']; ?></div></td>
                <td><div align="left"><?php echo $row_Rec['mot_passe']; ?></div></td>
    			<td><div align="left"><?php echo $row_Rec['type']; ?></div></td>
     
    			<td><div align="left"><?php echo $rows['libelle']; ?></div></td>
    			<td><div align="center">
    					<a href="modifier-user.php?id=<?php echo $row_Recordset1['idUser']; ?>" >
    					<img src="images/document_edit.png" width="24" height="22" style="border:0" /></a>
    				</div>
     
    			</td>
    			 <?php } elseif($counts==0)  echo " <td align='center' colspan='3' style='color:red' >Aucun élement a afficher... </td>"; ?>
                </tr>

    En fait, ce bout de code sert à afficher le login, le pass, le type d'agent et le centre de détention qui est représenté par le libellé. Le problème, c'est que le libellé est répété : ça affiche le même libellé pour tous les agents alors que chaque agent est affecté à un libellé (centre de détention). Voici les deux requêtes que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mysql_select_db($database_connect, $connect);
    $query_Rec = " SELECT * FROM utilisateurs where type = 'agent'";
    $Rec = mysql_query($query_Rec,$connect) or  die(mysql_error()) ;
    $counts = mysql_num_rows($Rec);
    $row_Rec = mysql_fetch_assoc($Rec);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    mysql_select_db($database_connect, $connect);
    $query = "select libelle from centre ";
    $recod = mysql_query($query,$connect) or die(mysql_error());
    $conti = mysql_num_rows($recod);
    $rows = mysql_fetch_assoc($recod);
    Merci de m'aider.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Dans votre modèle de données, comment sont reliés agents et libellés ?
    Parce que dans votre code, ça n'apparaît pas...

    Quel est le lien entre la table agents et la table centre ?
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Mai 2009
    Messages : 132
    Par défaut
    dans la table utilisateurs ya la cle etrangere de id de table centre

    table utilisateurs 1.1------1.n table centre

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Bonjour,

    il faut mettre une condition dans la requête pour le libellé, sinon tu répèteras tjrs la même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "select libelle from centre WHERE centre_id = " . $row_Rec['centre_id'];

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Mai 2009
    Messages : 132
    Par défaut
    j'ai fait comme vous avez dit mais rien c tjrs la même répétition pour le libelle(centre de détention) sa répète tjrs le même libelle pr tous les agents.

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Pour obtenir le centre de chaque agent, il faut faire le lien dans la requête qui récupère les agents :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT u.*, c.libelle 
    FROM utilisateurs u
    LEFT JOIN centre c ON u.id_centre = c.id_centre
    WHERE u.type = 'agent'
    Il est fortement déconseillé d'utiliser l'étoile dans le SELECT. Il est préférable de mettre le nom des colonnes qu'on souhaite récupérer.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. Problème QuickReport - bande qui ne se répète pas
    Par Rinduc dans le forum QuickReport
    Réponses: 6
    Dernier message: 26/01/2014, 09h53
  2. Problème d'affichage d'un textview qui se trouve dans un fragment
    Par FunckyWarrior dans le forum Composants graphiques
    Réponses: 10
    Dernier message: 28/02/2013, 15h35
  3. [MySQL] Problème d'apostrophe qui deviennet des ? lors de l'affichage.
    Par actarus4444 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/08/2010, 21h46
  4. problème d'affichage du résultat dans une classe qui utilise SNMP
    Par ramzouni dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 22/05/2009, 01h26
  5. Réponses: 3
    Dernier message: 02/07/2007, 09h50

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