bonsoir à tous, j'ai un soucis que je n'arrive pas à résoudre, c'est un prb de logique

j'ai une premiére table ou je trouve mes groupes et leur signification

et j'ai un second tableau avec de personne (user_id) et les groupes au quelle ils sont rattachés

je souhaiterai afficher tous les groupes ou une personnes n'est pas rattaché.

j'ai essayé ça mais ça marche pas

$select2="SELECT * FROM phpbb_groups
                ORDER BY group_id ASC ";
                $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
                $total2 = mysql_num_rows($result2);

                $select5="SELECT group_id
                FROM phpbb_user_group
                WHERE user_id = '$idu' 
                ORDER BY group_id ASC ";

                $result5 = mysql_query($select5,$link) or die ('Erreur : '.mysql_error() );
                $total5 = mysql_num_rows($result5);

                if($total2) 
                    {
                        while(($row = mysql_fetch_array($result2))) 
                            {
                                if ($mgroupe2==0)
                                    {                                           
                                        ?></br></br><div class="contenant"><?php echo "Rattacher au groupe:";?></br></div>
                                        <?php

                                        while(($row2 = mysql_fetch_array($result5))) 
                                            {
                                                if ($mgroupe22==0)
                                                    {
                                                        $mgroupe22=1;
                                                        $mgroupe2=1;
                                                        //echo $row2"group_id"];
                                                        if ($row"group_id"]!=$row2"group_id"])
                                                            {
                                                                ?>
                                                                <div class="contenu"><?php
                                                                echo $row"group_id"];
                                                                echo " ";
                                                                echo $row"group_name"];
                                                                ?></div>
                                                                <div class="bpfiche2">
                                                                <input type="image" src="val.png" alt="Envoyer"/>
                                                                </div>
                                                                </br><?php
                                                            }

                                                    }
                                            }

                                    }
                                else
                                    {
                                        $select5="SELECT group_id
                                        FROM phpbb_user_group
                                        WHERE user_id = '$idu' 
                                        ORDER BY group_id ASC ";

                                        $result5 = mysql_query($select5,$link) or die ('Erreur : '.mysql_error() );
                                        $total5 = mysql_num_rows($result5);
                                        while($row2 = mysql_fetch_array($result5)) 
                                            {echo $row2"group_id"];
                                                if ($mgroupe23==0)
                                                    {
                                                        $mgroupe23=1;
                                                        //$mgroupe2=1;

                                                        if ($row"group_id"]!=$row2"group_id"])
                                                            {
                                                                ?>
                                                                <div class="contenu"><?php
                                                                echo $row"group_id"];
                                                                echo " ";
                                                                echo $row"group_name"];
                                                                ?></div>
                                                                <div class="bpfiche2">
                                                                <input type="image" src="val.png" alt="Envoyer"/>
                                                                </div>
                                                                </br><?php
                                                            }
                                                    }
                                            }
                                    }
                            }

                    }

Pourriez vous me conseiller?

merci d'avance flo

ps:

pour changer je peux fournir un lien du site

login:grafikart mot de passe: grafikart

cliquez sur un bouton fiche pour comprendre

6 réponses


flo3376
Auteur
Réponse acceptée

et bien je suis content de mon coup, requéte trouvé et mise en place dans ma fiche et gagné y avait un join

$select5= "SELECT *
                FROM phpbb_groups
                WHERE group_id NOT 
                IN (
                SELECT DISTINCT phpbb_user_group.group_id
                FROM phpbb_user_group
                JOIN phpbb_groups ON phpbb_groups.group_id = phpbb_user_group.group_id
                WHERE user_id = '$idu'
                )
                LIMIT 0 , 30";

                $result5 = mysql_query($select5,$link) or die ('Erreur : '.mysql_error() );
                $total5 = mysql_num_rows($result5);

                if($total5) 
                    {
                        while(($row = mysql_fetch_array($result5))) 
                            {
                                if ($mgroupe2==0)
                                    {                                           
                                        ?></br></br><div class="contenant"><?php echo "Rattacher au groupe:";?></br></div>
                                        <?php
                                        $mgroupe2=1;
                                        ?>
                                        <div class="contenu"><?php
                                        echo $row"group_id"];
                                        echo " ";
                                        echo $row"group_name"];
                                        ?></div>
                                        <div class="bpfiche2">
                                        <input type="image" src="val.png" alt="Envoyer"/>
                                        </div>
                                        </br><?php
                                    }

                                else
                                    {
                                        ?>
                                        <div class="contenu"><?php
                                        echo $row"group_id"];
                                        echo " ";
                                        echo $row"group_name"];
                                        ?></div>
                                        <div class="bpfiche2">
                                        <input type="image" src="val.png" alt="Envoyer"/>
                                        </div>
                                        </br><?php
                                    }
                            }
                    }

Bonsoir,

Quel valeur pour la variable '$idu'??

flo3376
Auteur

ou pardon
ça correspond à un numéro d'utilisateur user_id

Du coup pourquoi tu fais un WHERE sur le numero d'utilisateur? tu devrais pas le faire sur le groupname ? genre WHERE group_name='' du coup tu sors tout les utilisateurs ou le group_name est vide non ?

flo3376
Auteur

bonjour,

alors je le fais sur l’utilisateur parce que je veux savoir à quelle groupe il appartient et non savoir qui appartient à telle groupe, ce sont des fiches individuel par personne que je génère. De plus dans mes 2 tables le point charnières c'est user_id. Tiens ça me fait pensé à un left join.

flo3376
Auteur

j'ai fouillé sur lent et j'ai trouvé cette requette qui semble être exactement ce que je cherche mais j'ai du mal à la décortiqué, pourriez vous m'aider

<?php
$select="SELECT CHB_ID
FROM T_CHAMBRE
WHERE CHB_ID NOT IN (SELECT DISTINCT C.CHB_ID 
                      FROM TJ_CHB_PLN_CLI
                             JOIN T_CLIENT C
                                  ON J.CLI_ID = C.CLI_ID
                      WHERE C.CLI_NOM ='BOUVIER'
                        AND EXTRACT(YEAR FROM J.PLN_JOUR) = 2001)";
?>

source