私はphpには新しく、mysqlデータをhtmlテーブルに取り込む最良の方法については不思議です。現在、私は、私が電話でだからうまくフォーマットされたコードを提供しますが、のは、ケースはこのようなものだったとしましょうことができません:私はこのような構造でMySQLのテーブルを持っていた マルチプライマリMysqlテーブルをhtmlテーブル(PHP)に取り込む最良の方法
:Row -> PK
Column -> PK
Value
私の周りに10列だったとWebページに表示する必要があるdinamic行。
私の考えは、小さなクエリをループしてエコーしたり、大きな配列に格納して高速にスキャンすることです。
最初のアイデア:
For ($y = 0; $y < $rowCount; $y++){
Echo "<tr>";
For ($x = 0; $x < 10; x++){
$row = Mysqli_query($db,"SELECT Value FROM table WHERE Row='".$y."' AND Column='".$x."'");
$row = mysqli_fetch_assoc($row);
Echo "<td>".$row['Value']."<td>";
}
Echo "</tr>";
}
第二のアイデア:
$data = Mysqli_query($db,"SELECT * from Table");
For ($y = 0; $y < $rowCount; $y++){
Echo "<tr>";
For ($x = 0; $x < 10; $x++){
While($key = mysqli_fetch_assoc($data)){
If($key['Row']==$x && $key['Column']==$y)
Echo "<td>".$row['Value']."<td>";
}
}
Echo "</tr>";
}
申し訳ありませんが、私は私の構文チートシートなしでそれを入力してるので、私は間違った構文を持っていたし、私のポイントは、技術を教えていない場合デバッグを要求します。
最初のアイデアは、mysqliクエリ 'WHERE'を使用してプライマリ(行と列)の両方を検索します。次に、クエリをループでスパムします。
第2のアイデアは、すべてのテーブル結果を変数($ data)に格納してから、変数をWhileループでスキャンし続けることです。
行の数はダイナミックであり、最大500個のデータを追加できることに注意してください。これは、すべてをストアする代わりにクエリをスパムすることを変数($ data)に含める理由もあります。しかし、プログラムが接続を維持しなければならないので、スパムのクエリが最良のアイデアではないかも疑問です。
誰かが第3のアイデアを考え出すことを願っています。
実際のケースでは、私のテーブルはこれより複雑で、約5つの主キーで構成されています。しかし、そのコンセプトは上記の例とほぼ同じです。
"約5つの主キーで構成されています" - 説明してください。 –
5キー:ユーザー名、期間、列、行、サブロー。このケースでは、Clumn、Row、およびSubRowに焦点を当てるだけです。 – user6748005
ケースにsubRowを追加することは、td rowspanの周りにあるため、説明するのが非常に苦労します。私はフロントエンドではなく、データを取得することに焦点を当てたかったので、私はそれを2つのプリムマリーキーだけにしました。 – user6748005