2009-06-26 12 views
1

Je voudrais demander comment imprimer ce tableau avec l'organisation manièrephp tableau d'impression en utilisant foreach imbriqué

Ceci est mon tableau

> Array (
>  [item1 under Category_1] => Category_1 
>  [item2 under Category_1] => Category_1 
>  [item3 under Category_2] => Category_2 
>  [item4 under Category_3] => Category_3 
>  [item5 under Category_3] => Category_3 
>  [item6 under Category_3] => Category_3 
>  [item7 under Category_3] => Category_3 
>  [item8 under Category_3] => Category_3) 

La sortie devrait comme ceci:

Category_1 
    item1 
    item2 
Category_2 
    item3 
Category_3 
    item4 
    item5 
    item6 
    item7 
    item8 

Y a-t-il un moyen de le faire? ou ma façon logique d'arranger mon tableau est faux?

Ma table base de données enregistrement est comme ce

category item 
    1  1 
    1  2 
    2  3 
    3  4 
    3  5 
    3  6 
    3  7 
    3  8 

Tout le monde peut aider?

Répondre

4

Vous avez probablement besoin d'ajuster les pauses de mise en page et de la ligne, mais je pense que vous avez l'idée:

asort($your_array); 
foreach($your_array as $key => $value){ 
    if($key_temp != $key){ 
    echo $key."\r\n"; 
    } 
    echo " ".$value."\r\n"; 
    $key_temp = $key; 
} 
1

d'abord la requête

$myarray = array(); 
$result = mysql_query("SELECT category , item FROM mytable order by category , item "); 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 

$myarray[$row['category'] ][] = $row['item']; 

} 

maintenant u obtenir un tableau à 2 dimensions

Exécuter maintenant sur ce tableau dans 2 boucle (foreach ou pour) et imprimer la clé du entery et après que le éléments dans cette entée

foreach ($array as $key => $val) { 
    print "Key $key\n"; 
    for($i=0;$i<count($val);$i++) 
     print "val $val[$i]\n"; 


} 

cet exemple, vous pouvez l'améliorer; J'espère que l'idée est claire

+0

Je pense qu'il cherche un moyen d'imprimer, non seulement pour le ranger. –

Questions connexes