Bonjour,
Je dispose de deux tables mysql :
==> myp_rayon :
Pour chaque rayon j'ai plusieurs positions, positions qui sont stockées dans une table :
==> myp_position :
Mon but final est que pour chaque hangar je puisse afficher le contenu des rayonnages ainsi que leur position
<p>Hangar 1</p>
<table>
<thead>
<tr>
<th>Rayon</th>
<th>Positions du rayon</th>
<th>Rayon actif</th>
<th>Editer</th>
<th>Supprimer</th>
</tr>
</thead>
<tbody>
<tr>
<td>YA</td>
<td>A100 | A101 | A102 | A103 |B100 | B101 |B102</td>
<td>X</td>
<td><a href="#">edit</a></td>
<td><a href="#">delete</a></td>
</tr>
<tr>
<td>YB</td>
<td>X100 | X101 | X102 | X103 |U100 |U101</td>
<td>X</td>
<td><a href="#">edit</a></td>
<td><a href="#">delete</a></td>
</tr>
<tr>
<td>YC</td>
<td>A100 | A101 | A102 | A103 |B100 | B101 |B102</td>
<td>X</td>
<td><a href="#">edit</a></td>
<td><a href="#">delete</a></d>
</tr>
</tbody>
</table>
<p>Hangar 2</p>
<table>
<thead>
<tr>
<th>Rayon</th>
<th>Positions du rayon</th>
<th>Rayon actif</th>
<th>Editer</th>
<th>Supprimer</th>
</tr>
</thead>
<tbody>
<tr>
<td>YA</td>
<td>A100 | A101 | A102 | A103 |B100 | B101 |B102</td>
<td>X</td>
<td><a href="#">edit</a></td>
<td><a href="#">delete</a></td>
</tr>
<tr>
<td>YB</td>
<td>A100 | A101 | A102 | A103 |B100 | B101 |B102</td>
<td>X</td>
<td><a href="#">edit</a></td>
<td><a href="#">delete</a></td>
</tr>
<tr>
<td>YC</td>
<td>A100 | A101 | A102 | A103 |B100 | B101 |B102</td>
<td>X</td>
<td><a href="#">edit</a></td>
<td><a href="#">delete</a></d>
</tr>
</tbody>
</table>
Du coup j'ai effectué une requête de la sorte :
$db=new PDO();
$req=$db->query("
SELECT
RA.id_hangar,
RA.id_rayon,
RA.rayon,
RA.actif
FROM myp_rayon as RA
LEFT JOIN myp_position as PO ON RA.id = PO.id_rayon");
$req_list=$req->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_GROUP);
La requête me sort un tableau associatif comme suit :
array (size=3)
1 =>
array (size=7)
0 =>
array (size=3)
'id_rayon' => string '1' (length=1)
'rayon' => string 'YA' (length=2)
'rayon_actif' => string '1' (length=1)
1 =>
array (size=3)
'id_rayon' => string '1' (length=1)
'rayon' => string 'YA' (length=2)
'rayon_actif' => string '1' (length=1)
2 =>
array (size=3)
'id_rayon' => string '2' (length=1)
'rayon' => string 'YB' (length=2)
'rayon_actif' => string '1' (length=1)
3 =>
array (size=3)
'id_rayon' => string '2' (length=1)
'rayon' => string 'YB' (length=2)
'rayon_actif' => string '1' (length=1)
4 =>
array (size=3)
'id_rayon' => string '2' (length=1)
'rayon' => string 'YB' (length=2)
'rayon_actif' => string '1' (length=1)
5 =>
array (size=3)
'id_rayon' => string '2' (length=1)
'rayon' => string 'YB' (length=2)
'rayon_actif' => string '1' (length=1)
6 =>
array (size=3)
'id_rayon' => string '3' (length=1)
'rayon' => string 'YC' (length=2)
'rayon_actif' => string '1' (length=1)
2 =>
array (size=4)
0 =>
array (size=3)
'id_rayon' => string '4' (length=1)
'rayon' => string 'AA' (length=2)
'rayon_actif' => string '1' (length=1)
1 =>
array (size=3)
'id_rayon' => string '4' (length=1)
'rayon' => string 'AA' (length=2)
'rayon_actif' => string '1' (length=1)
2 =>
array (size=3)
'id_rayon' => string '4' (length=1)
'rayon' => string 'AA' (length=2)
'rayon_actif' => string '1' (length=1)
3 =>
array (size=3)
'id_rayon' => string '5' (length=1)
'rayon' => string 'AB' (length=2)
'rayon_actif' => string '1' (length=1)
3 =>
array (size=4)
0 =>
array (size=3)
'id_rayon' => string '6' (length=1)
'rayon' => string 'PA' (length=2)
'rayon_actif' => string '1' (length=1)
1 =>
array (size=3)
'id_rayon' => string '7' (length=1)
'rayon' => string 'PB' (length=2)
'rayon_actif' => string '1' (length=1)
2 =>
array (size=3)
'id_rayon' => string '8' (length=1)
'rayon' => string 'PC' (length=2)
'rayon_actif' => string '1' (length=1)
3 =>
array (size=3)
'id_rayon' => string '9' (length=1)
'rayon' => string 'PE' (length=2)
'rayon_actif' => string '1' (length=1)
Là je bloque pour le traitement de ce tableau pour pouvoir créer mes tableaux pour chaque hangar.
Pour chaque hangar je créé un array (dont je créé la variable dynamiquement).
// $req_list est le résultat de ma requête SQL
foreach ($req_list as $key_hangar => $rayon_array)
{
// Génération dynamique de l'array hangar
$name_hangar='hangar_'.$key_hangar;
$$name_hangar=[];
// La suite...
var_dump($$name_hangar);
}
Dans l'écriture de mon code pour afficher chaque hangar :
<p>Hangar 1</p>
<table>
<thead>...</thead>
<tboby>
foreach($hangar_1 as ...)
{
???
}
</tbody>
</table>
<p>Hangar 2</p>
<table>
<thead>...</thead>
<tboby>
foreach($hangar_2 as ...)
{
???
}
</tbody>
</table>
Toute aide est la bien venue.