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

  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

  7. #7
    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
    Merci Ced vous m'avez épargner de plusieurs jour de galère sa marche maintenant.
    j'ai une dernière question svp comment faire pour que l'application prenne en charge automatiquement la prise de photo d'une personne a partir de la webcam et de mettre le lien avec la personne qu'on insere

+ 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