-1

script_id列名が などであるデータベースから結果を取得しています。script_name今、私がやっているのは、テーブルから結果を取得した後、例として 2 つの列を取得したと言うscript_idのでscript_name、カンマで区切られた名前を保存し、ループを使用しています、しかし、ユーザーが選択したパラメーターの数と、返されるパラメーターの数がわからない場合はどうなりますか? 例えば何をしている

<table>
  <tr>
   <?php
    $columns = explode(',', $fetch_column_list);
    foreach($columns as $throw_names) {
         echo '<td>'.$throw_names.'</td>';
     }
   ?>
  </tr>
 //And here I loop the results
</table>

しかし、選択するパラメーターが異なるフォームがあるとしたら、ここでは、ユーザーが列を選択したかどうかにかかわらず、定義済みの列名の定義済みリストを作成できません

フロントエンドで MY DEFINED COLUMN HEADERS を使用してテーブルを動的に生成する方法

4

2 に答える 2

1

列の数を知る必要はありません。数値の代わりにフィールド名を使用する必要があります

<?
$trans = array (
    'script_name'  => 'Fancy script name field header',
    'script_value' => 'Fancy script value  field header',
}
$data = $db->getAll("SELECT * FROM table");
$keys = array_keys($data[0]);
?>
<table>
  <tr>
<? foreach ($keys as $k): ?>
    <td><?=$trans[$k]?></td>
<? endforeach ?>
  </tr>
<? foreach ($data as $row): ?>
  <tr>
<?     foreach ($row as $one): ?>
    <td><?=$one?></td>
<?     endforeach ?>
  </tr>
<? endforeach ?>
</table>
于 2013-01-18T20:18:08.637 に答える
0

どのようにデータを取得しますか?

mysqli_fetch_assocのような関数を使用する場合は、

$row = mysqli_fetch_assoc( ... );
$columns = array_keys($row)
于 2013-01-18T19:04:17.280 に答える