Page 1 sur 1
fonction à modifier
Posté : 19 mai 2010, 16:15
par sam01
Bonjour à tous,
j'ai la fonction suivante qui me permet d'afficher des nom de photo pour chaque adhérent car un adhérent peut avoir plusieurs photos.
$tabGroupement = array();
while($dataa = mysql_fetch_assoc($reqa)) {
$id_adh = $dataa['id_adh'];
$up_nom = $dataa['up_nom']; // nom des photo
if (!isset($tabGroupement[$id_adh])) {
$tabGroupement[$id_adh] = array();
}
$tabGroupement[$id_adh][] = $up_nom;
}
?>
<ul>
<?php foreach ($tabGroupement as $id_adh => $liste_nom) {?>
<li>
id_adh = <?php echo $id_adh;?>
<ul>
<?php foreach ($liste_nom as $up_nom) {?>
<li>
up_nom = <?php echo $up_nom;?>
</li>
<?php }?>
</ul>
</li>
<?php }?>
</ul>
mais puisqu'un adhérent peut aussi avoir plusieurs destinations, j'aimerais savoir comment se transformerait le code si j'ajoute les variables
$continent
$pays
$ville
$tabGroupement = array();
while($dataa = mysql_fetch_assoc($reqa)) {
$id_adh = $dataa['id_adh'];
$up_nom = $dataa['up_nom']; // nom des photo
$continent = $dataa['continent']; // nom du continent
$pays = $dataa['pays']; // nom du pays
$ville = $dataa['ville']; // nom de la ville
...
Merci d'avance pour votre aide.
Re: fonction à modifier
Posté : 19 mai 2010, 17:37
par stealth35
je dirais que juste ca suffirait, a toi après de sélectionner juste les champs que tu souhaites dans ta requête
$tabGroupement = array();
while($dataa = mysql_fetch_assoc($reqa))
{
$tabGroupement[$dataa['id_adh']] = $dataa;
}
Re: fonction à modifier
Posté : 20 mai 2010, 10:48
par sam01
bonjour,
et cette partie de code
if (!isset($tabGroupement[$id_adh])) {
$tabGroupement[$id_adh] = array();
}
on l'oublie... ?
Re: fonction à modifier
Posté : 20 mai 2010, 10:52
par stealth35
oui puisque qu'il le crée automatiquement
Re: fonction à modifier
Posté : 20 mai 2010, 14:40
par sam01
Ben voilà ce que j'ai fait mais ça ne fonctionne pas..
$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']) {
echo $dataa['continent'].' / ';}
foreach ($liste_nom as $dataa['pays']) {
echo $dataa['pays'].' / ';}
foreach ($liste_nom as $dataa['ville']) {
echo $dataa['ville'];}
echo '</div>';
echo '<div class="liste01_01">';
j'ai des array de partout qui s'affiche...
En plus comme le contient, le pays et la ville sont sur la même ligne dans la base données, il faudrait que je les affiche à la suite :
$contient $pays $ville
dans ce que j'ai fait (même si ça ne focntionne pas pour l'instant..)
j'ai l''impression que le résultat va me donner :
$contient
$continent
$contient
$pays
$pays
$pays
$ville
$ville
$ville
Heu là j'ai un peu de mail..
Merci pour votre aide.
Re: fonction à modifier
Posté : 20 mai 2010, 14:48
par stealth35
pas comme ca que ca fonction le foreach
fait un print_r($dataa) pour voir comment la parcourir
apres c'est foreach($tabGroupement as $key => $value)
et tu accèdes au tableau via $value et non via $dataa
Re: fonction à modifier
Posté : 20 mai 2010, 16:20
par sam01
voilà le résultat de
$tabGroupement = array();
while($dataa = mysql_fetch_assoc($reqa)){
$tabGroupement[$dataa['id_adh']][] = $dataa;
}
echo '<pre>';
print_r($tabGroupement);
echo '</pre>';
Résultat :
Code : Tout sélectionner
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
)
)
)
Re: fonction à modifier
Posté : 20 mai 2010, 16:23
par stealth35
bizarre le rendu
si tu fais juste ca dans la boucle
$tabGroupement[] = $dataa;
ca te donne quoi ?
Re: fonction à modifier
Posté : 20 mai 2010, 16:54
par sam01
Ben au fait je ne vais ce que tu trouve bizarre dans le rendu,;
voici le résultat de
$tabGroupement = array();
while($dataa = mysql_fetch_assoc($reqa)){
$tabGroupement[] = $dataa;
}
echo '<pre>';
print_r($tabGroupement);
echo '</pre>';
Code : Tout sélectionner
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
)
)
Re: fonction à modifier
Posté : 20 mai 2010, 17:04
par stealth35
fais ta mise en page avec ca et un foreach

(par contre pas besio nde refaire des foreach a chaque fois)
Re: fonction à modifier
Posté : 20 mai 2010, 17:34
par sam01
ben oui mais je voulais un coup de main....
Re: fonction à modifier
Posté : 20 mai 2010, 17:37
par stealth35
tu le veux comment ton affichage ?
Re: fonction à modifier
Posté : 20 mai 2010, 20:32
par sam01
Ben au fait je veux pour un adhérent donné :
son identifiant(id_adh)
sa localité (cont_fr, pays_fr et ville)
toutes les photos le concernant (up_nom)
toutes les destinations le concernant (continent, pays, date_deb, date_fin)
merci d'avance pour ton aide.