J'essaie d'afficher un tableau multidimensionnel de ma base de données dans une table HTML avec PHP, rangée par ligne au lieu de colonne par colonne.
J'ai le tableau suivant;
Array (
[0] => Array (
[0] => Paracetamol
[1] => Caffeine
[2] => Pase
)
[1] => Array (
[0] => 12
[1] => 10
[2] => 1
)
[2] => Array (
[0] => Packets
[1] => Cartons
[2] => Containers
)
)
4 Réponses :
Voici quelque chose qui vous donnera une idée de faire votre tâche.
p>
<?php
$meds = Array (
[0] => Array (
[0] => Paracetamol
[1] => Caffeine
[2] => Pase
)
[1] => Array (
[0] => 12
[1] => 10
[2] => 1
)
[2] => Array (
[0] => Packets
[1] => Cartons
[2] => Containers
)
);
echo "<table>";
foreach($meds as $itemz) {
echo "<tr>";
foreach ($itemz as $item) {
echo "<td>".$item."</td>";
}
echo "</tr>";
echo "<br >";
}
echo "</table>";
?>Bonjour, merci beaucoup pour la réponse. Je l'ai essayé mais malheureusement, cela affichait toujours la même chose.
En fait, il y a plusieurs façons, je vais en donner l'un d'eux
Bonjour, merci beaucoup pour la réponse. Je l'ai essayé mais malheureusement, cela affichait toujours la même chose.
Essayez de transposer le tableau
function transpose($array) {
return array_map(null, ...$array);
}
Merci d'avoir répondu. Je ne pouvais pas le faire au début mais après quelques modifications, cela a fonctionné. Gracias !!
<?php
$array = Array (
Array (
'Paracetamol',
'Caffeine',
'Pase'
),
Array (
12,
10,
1
),
Array (
'Packets',
'Cartons',
'Containers'
)
);
function combine($array) {
array_unshift($array, null);
return call_user_func_array('array_map', $array);
}
$array = combine($array);
?>
<table border="1">
<tr>
<th>Product_name</th>
<th>Product_quantity</th>
<th>Product_size</th>
</tr>
<?php foreach($array as $row): ?>
<tr>
<td><?=$row[0]?></td>
<td><?=$row[2]?></td>
<td><?=$row[1]?></td>
</tr>
<?php endforeach ?>
</table>
Merci beaucoup. Cela a fonctionné comme un charme quand j'ai utilisé la fonction combine ... je suis très reconnaissant pour cela ..
Veuillez partager votre code actuel afin que nous puissions vous aider à déboguer.
Bonjour @nick, j'ai utilisé la réponse fournie ci-dessous par Anik-Anwar et cela a fonctionné.