PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 16-05-2010 18:04:54

sam01
Membre
Inscription : 28-03-2010
Messages : 7

requête de jointure et récupération de ligne

Bonjour à tous,

voilà j'effectue la requête de jointure suivante :

$sqla = sprintf("SELECT A.id_adh, A.id_vil, B.id_adh, B.id_log, B.description, B.type, C.id_adh, C.continent, C.pays, C.ville, D.id_log, D.up_nom, E.id_vil, E.id_pay, E.ville, F.id_pay, F.id_con, F.pays_fr, G.cont_fr
FROM flatforswap_adherent A
INNER JOIN flatforswap_logement B ON A.id_adh = B.id_adh
INNER JOIN flatforswap_destination C ON A.id_adh = C.id_adh
INNER JOIN flatforswap_photo D ON B.id_log = D.id_log
INNER JOIN flatforswap_ville E ON A.id_vil = E.id_vil
INNER JOIN flatforswap_pays F ON E.id_pay = F.id_pay
INNER JOIN flatforswap_continent G ON G.id_con = F.id_con
WHERE G.cont_fr= 'Afrique'");
 
$reqa = mysql_query($sqla) or die('Erreur SQL !<br>'.$sqla.'<br>'.mysql_error());
 
 
je sais que le mysqlnumrows me donne 20 lignes.

j'aimerais savoir comment récupérer la totalité des 20 lignes

while($dataa = mysql_fetch_assoc($reqa)){

après que dois-je faire pour avoir la totalité des lignes ?

Hors ligne

#2 16-05-2010 19:50:15

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : requête de jointure et récupération de ligne

Bonjour,

Il suffit de parcourir les derniers posts du forum et du site pour avoir ta réponse.

Jc.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#3 16-05-2010 20:35:56

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : requête de jointure et récupération de ligne

while ($ligne=mysql_fetch_array($reqa))
{
            echo $ligne['nomduchamp'];
}

a++

Hors ligne

#4 16-05-2010 22:10:57

sam01
Membre
Inscription : 28-03-2010
Messages : 7

Re : requête de jointure et récupération de ligne

Bonjour, mon souci est un peu plus compliqué.

Lorsqu'il s'agit d'une simple requête, la méthode de Pierrot fonctionne bien, et je l'utilise d'ailleurs.

mias là, je suis dans un cas u pour un adhérent donné : id_adh, il peut avoir plusieurs photos qui lui sont associés.

Alors si je fais

echo $ligne['up_nom'], je vais obtenir uniquement le nom d'une photo. Et comment faire pour récupérer les autres photos...

Hors ligne

#5 17-05-2010 07:51:11

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : requête de jointure et récupération de ligne

une boucle dans la boucle !


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#6 17-05-2010 08:23:13

sam01
Membre
Inscription : 28-03-2010
Messages : 7

Re : requête de jointure et récupération de ligne

Pardon d'insister vous auriez un exemple...

Hors ligne

#7 17-05-2010 10:15:39

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : requête de jointure et récupération de ligne

Non, il faut que tu cherches un peu !!! (la solution passe par un 2eme array wink )


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#8 21-05-2010 08:31:54

sam01
Membre
Inscription : 28-03-2010
Messages : 7

Re : requête de jointure et récupération de ligne

Bonjour Alnos,

j'ai cherhcer mais je peine encore, voilà ce que j'ai fait

$tabGroupement = array();

        while($dataa = mysql_fetch_assoc($reqa)){    
                $tabGroupement[$dataa['id_adh']][] = $dataa;}
       
       
        foreach ($tabGroupement as $dataa['id_adh'] => $liste_nom) {
        // requête pour déterminer la localité de l'adhérent
               
        echo '<div class="liste01">';

        echo '<div class="rectxx marginb10">';
                 foreach ($liste_nom as $dataa['continent']) {

mais ça ne marche pas terrible j'ai des array de partout qui s'affiche...

au fait voilà ce que me donne la commande suivante

        $tabGroupement = array();
       
        while($dataa = mysql_fetch_assoc($reqa)){    
    $tabGroupement[$dataa['id_adh']][] = $dataa;
        }

         echo '<pre>';
print_r($tabGroupement);
echo '</pre>';

Résultat

Array
(
    [4] => Array
        (
            [0] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Afrique
                    [pays] => Senegal
                    [ville] => Vendée
                    [date_deb] => 2010-05-07
                    [date_fin] => 2010-05-29
                    [autre] =>
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [1] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Asie
                    [pays] => Chine
                    [ville] => Vendée
                    [date_deb] => 2009-05-31
                    [date_fin] => 2009-08-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [2] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Amerique du nord
                    [pays] => Floride
                    [ville] => Vendée
                    [date_deb] => 2010-05-22
                    [date_fin] => 2010-05-31
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [3] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Europe
                    [pays] => France
                    [ville] => Vendée
                    [date_deb] => 2010-04-22
                    [date_fin] => 2010-04-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [4] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Afrique
                    [pays] => Senegal
                    [ville] => Vendée
                    [date_deb] => 2010-05-07
                    [date_fin] => 2010-05-29
                    [autre] =>
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [5] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Asie
                    [pays] => Chine
                    [ville] => Vendée
                    [date_deb] => 2009-05-31
                    [date_fin] => 2009-08-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [6] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Amerique du nord
                    [pays] => Floride
                    [ville] => Vendée
                    [date_deb] => 2010-05-22
                    [date_fin] => 2010-05-31
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [7] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Europe
                    [pays] => France
                    [ville] => Vendée
                    [date_deb] => 2010-04-22
                    [date_fin] => 2010-04-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [8] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Afrique
                    [pays] => Senegal
                    [ville] => Vendée
                    [date_deb] => 2010-05-07
                    [date_fin] => 2010-05-29
                    [autre] =>
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [9] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Asie
                    [pays] => Chine
                    [ville] => Vendée
                    [date_deb] => 2009-05-31
                    [date_fin] => 2009-08-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [10] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Amerique du nord
                    [pays] => Floride
                    [ville] => Vendée
                    [date_deb] => 2010-05-22
                    [date_fin] => 2010-05-31
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [11] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Europe
                    [pays] => France
                    [ville] => Vendée
                    [date_deb] => 2010-04-22
                    [date_fin] => 2010-04-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [12] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Afrique
                    [pays] => Senegal
                    [ville] => Vendée
                    [date_deb] => 2010-05-07
                    [date_fin] => 2010-05-29
                    [autre] =>
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [13] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Asie
                    [pays] => Chine
                    [ville] => Vendée
                    [date_deb] => 2009-05-31
                    [date_fin] => 2009-08-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [14] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Amerique du nord
                    [pays] => Floride
                    [ville] => Vendée
                    [date_deb] => 2010-05-22
                    [date_fin] => 2010-05-31
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [15] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Europe
                    [pays] => France
                    [ville] => Vendée
                    [date_deb] => 2010-04-22
                    [date_fin] => 2010-04-30
                    [autre] => OK
                    [up_nom] => 1gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [16] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Afrique
                    [pays] => Senegal
                    [ville] => Vendée
                    [date_deb] => 2010-05-07
                    [date_fin] => 2010-05-29
                    [autre] =>
                    [up_nom] => 3gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [17] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Asie
                    [pays] => Chine
                    [ville] => Vendée
                    [date_deb] => 2009-05-31
                    [date_fin] => 2009-08-30
                    [autre] => OK
                    [up_nom] => 3gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [18] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Amerique du nord
                    [pays] => Floride
                    [ville] => Vendée
                    [date_deb] => 2010-05-22
                    [date_fin] => 2010-05-31
                    [autre] => OK
                    [up_nom] => 3gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

            [19] => Array
                (
                    [id_adh] => 4
                    [id_vil] => 24
                    [id_log] => 4
                    [description] => Près de la gare et de la mer.
                    [type] => 1
                    [continent] => Europe
                    [pays] => France
                    [ville] => Vendée
                    [date_deb] => 2010-04-22
                    [date_fin] => 2010-04-30
                    [autre] => OK
                    [up_nom] => 3gd.jpeg
                    [id_pay] => 67
                    [id_con] => 7
                    [pays_fr] => France
                    [cont_fr] => Europe
                )

        )

)

et j'aimerais avoir l'affichae de la façon suivante :

Pour un adhérent donné :

son identifiant(id_adh)

sa localité (cont_fr, pays_fr et ville)

toutes les photos le concernant (up_nom) (il y en a plusieurs par adhérent)

toutes les destinations le concernant (continent, pays, date_deb, date_fin) (il y en a plusieurs par adhérent)

Merci d'avance pour votre aide parceque là je peine un peu...

Hors ligne

Pied de page des forums