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 :

[Conception] probleme d'affichage de plusieurs enregistrements


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut [Conception] probleme d'affichage de plusieurs enregistrements
    bonjour,

    ce que j'aimerais faire c'est afficher le nom d'une entreprise ainsi que tous les employés (contacts) quelle contient. j'ai créé deux table, une entreprise et une autres contacts. Je fais mes requetes sur mes tables:
    $req = "SELECT * FROM entreprise WHERE 1=1";


    //Ajout des conditions sur la rasion sociale//
    if(@$_POST['raisonSociale'] != "")
    {$req .= " AND EN_raisonSociale LIKE '%" . @$_POST['raisonSociale'] . "%'";
    $raisonsociale=$_POST['raisonSociale'];
    }

    $req_contacts = "SELECT * FROM contacts WHERE CO_EN_raisonSociale LIKE '%" . $row_rsGeneral['EN_raisonSociale'] . "%'";
    j'ai un peu raccourci la première car elle controle plusieurs champs mais c'est juste pour vous donner une idée.

    Le problème que j'ai est le suivant: quand il n'y a qu'une seule entreprise retournée avec ma requete, l'affichage se passe sans probleme mais lorsque a requete renvoi plusieurs entreprises ca devient le bordel la mise en forme n'existe plus et je ne recoit pas les employés des entreprises renvoyés après la 1ere entreprise.

    mon code pour affciher les entreprise est le suivant.
    <p>&nbsp;</p>
    <form name="form3" method="post" action="">
    <table width="95%"**border="0" cellspacing="0" cellpadding="0">
    <?php do { ?>
    <tr>
    **<th colspan="2" scope="col">Entreprise</th>
    </tr>

    <tr>
    **<td width="41%">Raison Sociale</td>
    <td width="59%">
    <?php
    echo $row_rsGeneral['EN_raisonSociale']; ?>
    </td>
    </tr>

    <tr>
    **<td>Adresse</td>
    <td>
    <?php
    echo $row_rsGeneral['EN_adresse']; ?>
    </td>
    </tr>

    <tr>
    **<td>Boite postale </td>
    <td>
    <?php
    echo $row_rsGeneral['EN_boitePostale']; ?></td>
    </tr>

    <tr>
    **<td>Code postal</td>
    **<td>
    <?php
    echo $row_rsGeneral['EN_codePostal']; ?></td>
    </tr>

    <tr>
    **<td>Ville</td>
    <td>
    <?php
    echo $row_rsGeneral['EN_ville']; ?>
    </td>
    </tr>

    <tr>
    **<td>Abonner</td>
    <td>
    <?php
    echo $row_rsGeneral['EN_abonner']; ?>
    </td>
    </tr>

    <tr>
    **<td>Secteur</td>
    <td><?php echo $row_rsGeneral['EN_secteur']; ?>
    </td>
    </tr>

    <tr>
    **<td>Commentaire</td>
    <td><?php echo $row_rsGeneral['EN_commentaire']; ?>
    </td>
    </tr>

    <tr>
    **<td>Numéro lettre début abonnement</td>
    <td><?php echo $row_rsGeneral['EN_numDebutAbo']; ?>
    </td>
    </tr>

    <tr>
    **<td>Numéro lettre fin abonnement </td>
    <td><?php echo $row_rsGeneral['EN_numFinAbo']; ?>
    </td>
    </tr>

    <tr>
    **<td>Téléphone de l'entreprise </td>
    <td><?php echo $row_rsGeneral['EN_telephone']; ?>
    </td>
    </tr>

    <tr>
    **<td>Adresse Web </td>
    <td><?php echo $row_rsGeneral['EN_web']; ?>

    </td>
    </tr>

    <p>&nbsp;</p>
    <p>&nbsp;</p>

    <table width="95%"**border="0" cellspacing="0" cellpadding="0">

    <?php
    do {
    ?>

    <tr>
    **<th colspan="2" scope="col">Contacts</th>
    </tr>

    <tr>
    **<td width="41%">Civilité</td>
    **<td width="59%">

    <?php
    echo $row_rsContacts['CO_civilite']; ?>

    **</td>
    </tr>

    <tr>
    **<td>Nom</td>
    <td>
    <?php
    echo $row_rsContacts['CO_nom']; ?>
    </td>
    </tr>

    <tr>
    **<td>Prénom </td>
    <td>
    <?php
    echo $row_rsContacts['CO_prénom']; ?>
    </td>
    </tr>

    <tr>
    **<td>Fonction</td>
    <td>
    <?php
    echo $row_rsContacts['CO_fonction']; ?>
    </td>
    </tr>

    <tr>
    **<td>Téléphone direct</td>
    <td>
    <?php
    echo $row_rsContacts['CO_telephoneFixe']; ?>
    </td>
    </tr>

    <tr>
    **<td>Téléphone portable</td>
    <td>
    <?php
    echo $row_rsContacts['CO_telephonePortable']; ?>
    </td>
    </tr>

    <?php } while ($row_rsContacts = mysql_fetch_assoc($rsContacts)); ?>


    </table>


    <?php } while ($row_rsGeneral = mysql_fetch_assoc($rsGeneral)); ?>


    <p>&nbsp;</p>
    </form>
    <p>&nbsp;</p>
    </form>
    <p>&nbsp;</p>

    merci de votre aide.

  2. #2
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    tu commences ta première boucle après la création de ton tableau et tu la finis après la fermeture de ton tableau. Ce qui fait que quand tu as plusieurs entreprises, tu ouvres 1 tableau que tu refermes autant de fois que tu as d'entreprises à afficher.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    oki je comprend ce que tu veux dire mais je ne vois pas comment faire. Pourrais tu montrer ce que je dois changer dans mon code?

  4. #4
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    oki je comprend ce que tu veux dire mais je ne vois pas comment faire. Pourrais tu montrer ce que je dois changer dans mon code?
    ben en fait ça veut dire que tu n'as pas compris enfait

    en regardant encore ton code je me suis aperçu que tu ne refermais pas ta première table.
    d'où ton problème.

    Ce que je te conseille de faire c'est d'afficher la source html de ta page résultat et de voir d'où vient le problème en prenant comme base pour un tableau bien fait :
    - à chaque balise <table> correspond 1 balise </table>
    - à chaque balise <tr> correspond 1 balise </tr>
    - à chaque balise <td> correspond 1 balise </td>
    - si tu veux imbriquer des tableaux, tu ouvres la balise <table> dans un <td> de la table parente et tu la refermes au sein du même <td>

    Quand tu auras identifié les balises manquantes/mal placées, tu pourras corriger ton code

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    La mise en page est maintenant correcte mais j'ai toujours un problème quant à l'affichage des employés. Les employés de la première entreprise s'affichent sans problème alors que ceux des entreprises suivantes ne s'affichent pas du tout.

    Le problème vient-ils de mes requêtes ou est-ce de nouveau mon affichage?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 28
    Points
    28
    Par défaut
    salut à tous.

    j'ai fini par résoudre mon problème. En fait j'effectuait ma requete en dehors de ma boucle ce qui bien évidement me renvoyait les employé de la première entreprise mais pas ceux des suivantes. En le plaçant à l'intérieur de ma boucle "do". j'envoi à chaque tour une requete qui me renvoi les employé de l'entreprise en cours.

    Merci encore de votre aide qui ma mis sur la voie...

    bye

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

Discussions similaires

  1. [AC-2007] Dictionnaire et affichage de plusieurs enregistrements sur un formulaire
    Par Cinesra dans le forum VBA Access
    Réponses: 8
    Dernier message: 08/11/2010, 13h44
  2. [MySQL] Probleme d'affichage de plusieurs date en ligne
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/03/2010, 17h11
  3. Réponses: 2
    Dernier message: 13/03/2009, 17h28
  4. affichage de plusieurs enregistrement.
    Par rommel83 dans le forum Forms
    Réponses: 5
    Dernier message: 27/11/2007, 09h45
  5. []Problème d'affichage des enregistrements dans un DataReport
    Par GeniuZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/01/2005, 16h52

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