1

DBから返された多次元配列があります。次のようになります。

   $prices = array();

    /*some SQL coding */
print_r($prices);
        Array
    (
          [0]
              [id] => 1
              [title] => XT1 Comp
              [young] => 50
              [mid] => 50
              [old] => 120
          [1]
              [id] => 2
              [title] => HH3 Enginee
              [young] => 150
              [mid] => 170
              [old] => 220
    )

ここまでは順調ですね。しかし、これを動的テーブルとして印刷するにはどうすればよいでしょうか。少し立ち往生していて、ヒントは大いに活用されています

誰かが助けてくれることを願っています。私はこのようなアウトパスを望んでいます:

id | title     | young| mid| old
1  |  XT1 Comp | 50   | 50 | 120
and so one for each row / array index or line

アレックスよろしくお願いします

編集->これは私がそれらを取得する方法です。

$result_array = array();
        while($line = mysql_fetch_array($result, MYSQL_ASSOC))
            {
            $result_array[] = $line;
        }

        return $result_array
4

2 に答える 2

2

ループを使用します。

foreach( $prices as $row ) {
    echo '|' . $row['id'] . '|' . $row['title'] . '|' . $row['young'] . '|';
    echo '|' . $row['mid'] . '|' . $row['old'] . '|';
}

各行を通過し、各列の値にアクセスできるようになります。

編集:

結果を取得するために使用している場合mysql_query();は、使用後に次を使用します。

while( $row = mysql_fetch_assoc( $query_result ) ) {
    // Same echo stuff here
}
于 2012-04-21T18:47:36.280 に答える
2

php foreachを使用して、次の各アイテムを出力できます$prices

<?php
function queryResultAsTable($results) {
    if(count($results) == 0) {
        echo '<em>No rows returned</em>';
    } else {
        echo '<table><thead><tr><th>'.implode('</th><th>', array_keys(reset($results))).'</th></tr></thead><tbody>'."\n";

        foreach($results as $result) {
            echo '<tr><td>'.implode('</td><td>', array_values($result)).'</td></tr>'."\n";
        }

        echo '</tbody></table>';
    }
}

queryResultAsTable($prices);
于 2012-04-21T18:55:15.370 に答える