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 :

Doublon classement resultat par élément


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut Doublon classement resultat par élément
    J'ai une requete sql qui lis tous les éléments d'un événement et place le nom de a société sous forme de bouton.
    Le tout est récupérer dans une fonction pour afficher un bouton portant le nom de la société

    J'ai crée script php qui me ressence toutes les entreprises inscrit dans la session de planning.

    cependant cela est normale ( foreach ) si j'ai deux clients qui figure dans la même société il va me créer deux boutons.

    je souhaiterai qu'il me créer un seul bouton par société

    etat actuel :

    bouton 1 : société1

    bouton 2: société 1

    bouton 3 société :2

    je souhaiterai avoir que deux boutons pour société 1 et société 2

    voici ma première fonction

    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
     
    function lecture_session_evenement()
    {
     
    $bdd = connexion_bdd();
    $requete= $bdd -> prepare('SELECT * FROM tbl_session
    INNER JOIN tbl_client ON tbl_session.id_client = tbl_client.id_client
    INNER JOIN tbl_utilisateur ON tbl_session.id_utilisateur = tbl_utilisateur.id_utilisateur
    INNER JOIN tbl_planning ON tbl_session.id_evenement = tbl_planning.id_evenement
    INNER JOIN tbl_entreprise_client ON tbl_client.id_entreprise_client = tbl_entreprise_client.id_entreprise_client
     WHERE tbl_session.id_evenement = '.intval($_GET['id_evenement']));
    $requete->execute();
    $resultat = $requete->fetchAll();
        return $resultat;
    }
    ma seconde function d'affichage
    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
     
    function affichage_tableau_avec_lien_emargement()
    {
    $ndd = "http://".$_SERVER["SERVER_NAME"];
    $info_client = lecture_session_evenement();
    $resultat = '';
    $resultat .= "<div class='card-block'>
    <p>";
    foreach ( $info_client as $element_client_session ){
    $resultat .= "
    <a href='".$ndd."/elements/feuille-emargement-client-session.php?id_client=".$element_client_session['id_client']."&id_entreprise_client=".$element_client_session['id_entreprise_client']."&id_session=".$element_client_session['id_session']."&id_evenement=".$element_client_session['id_evenement']."&id_produit=".$element_client_session['id_produit']."'<span class='pcoded-badge label label-warning'>".$element_client_session['nom_entreprise_client']."</span></a>
    ";
    }
    $resultat .= "
    </p></div>
    <div class='card-footer'>
        <span class='pull-right'>
        </span>
        </div>
    "; 
    return  $resultat;
    }

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Tu sélectionnes tous les champs de la table. Quels sont les champs dont tu as besoin et seulement ceux là ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2014
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2014
    Messages : 145
    Par défaut
    sachant que j'ai plusieurs tableau qui sont en liaison,
    Voici mes tables

    tbl_planning
    id_evenement ..... id_produit et id_utilisateur
    tbl_session ( personne inscrite dans l'evenement du planning )
    id_session, id_evenement,id_client...
    tbl_client
    id_client ..... id_entreprise_client
    tbl_entreprise_client
    id_entreprise_client,nom_entreprise_client .....
    tbl_produit
    id_produit

    Une personne ou des personne sont inscrit a une session,
    je souhaiterai ressortir et grouper les noms des entreprises qui sont inscrites

    soit le champs nom_entreprise_client, id_entreprise_client id_client ,id_session, id_evenement, id_produit

    j'avais penser faire cela exemple avec id_evenement 4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT tbl_planning.id_evenement,tbl_produit.id_produit,tbl_session.id_session,tbl_entreprise_client.id_entreprise_client,tbl_entreprise_client.nom_entreprise_client FROM tbl_entreprise_client 
    INNER JOIN tbl_client ON tbl_client.id_entreprise_client = tbl_entreprise_client.id_entreprise_client 
    INNER JOIN tbl_session ON tbl_session.id_client = tbl_client.id_client 
    INNER JOIN tbl_planning ON tbl_session.id_evenement = tbl_planning.id_evenement
     INNER JOIN tbl_produit ON tbl_planning.id_produit = tbl_produit.id_produit
    WHERE tbl_session.id_evenement = 4 
    GROUP BY tbl_entreprise_client.nom_entreprise_client
    donc voici ma fonction complète ( il y a pas moyen d'alleger tout ca )
    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
     
    function lecture_entreprise_inscrit_evenement()
    {
     
    $bdd = connexion_bdd();
    $requete= $bdd -> prepare('
    SELECT tbl_planning.id_evenement,tbl_produit.id_produit,
    tbl_session.id_session,tbl_session.id_client,
    tbl_entreprise_client.id_entreprise_client,
    tbl_entreprise_client.nom_entreprise_client FROM tbl_entreprise_client 
    INNER JOIN tbl_client ON tbl_client.id_entreprise_client = tbl_entreprise_client.id_entreprise_client 
    INNER JOIN tbl_session ON tbl_session.id_client = tbl_client.id_client 
    INNER JOIN tbl_planning ON tbl_session.id_evenement = tbl_planning.id_evenement
    INNER JOIN tbl_produit ON tbl_planning.id_produit = tbl_produit.id_produit
    WHERE tbl_session.id_evenement = '.intval($_GET['id_evenement']).' 
    GROUP BY tbl_entreprise_client.nom_entreprise_client');
    $requete->execute();
    $resultat = $requete->fetchAll();
    return $resultat;
    }

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    As tu essayé de mettre un DISTINCT dans ta requête ?

    SELECT DISTINCT CHAMP1, CHAMP2, CHAMP3 FROM .....

    ATTENTION : cela nécessite que tu mettes dans la clause select les champs dont tu as besoin et seulement ceux-là. Si malgré cela tu as toujours des doublons alors ton problème est mal posé.

Discussions similaires

  1. [Oracle9i][PL/SQL] Resultat par Mail
    Par kilian dans le forum Sql*Plus
    Réponses: 1
    Dernier message: 31/01/2007, 08h38
  2. MYSQL PHP resultat par mois
    Par sirbaldur dans le forum Requêtes
    Réponses: 7
    Dernier message: 06/06/2006, 11h44
  3. [Dates] pb pour afficher éléments par éléments
    Par linouline dans le forum Langage
    Réponses: 9
    Dernier message: 04/06/2006, 14h55
  4. [MySQL] Requête ordonnant les résultats par mois
    Par DukyGeorge dans le forum Langage SQL
    Réponses: 12
    Dernier message: 15/05/2006, 19h48
  5. limitation a un resultat par valeur d un champ
    Par venomelektro dans le forum Requêtes
    Réponses: 4
    Dernier message: 01/05/2006, 18h32

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