-1
要するに、私が先週実施したことは、SQLテーブルからデータを取り出してHTMLテーブルの特定の列に挿入することです。それは完了しました、私は知っている、私はフォーラム、マニュアル、ビデオの束を拾ってきましたが、私の問題に答えるものは何も見つかりませんでした。私が何をしたいかSQLデータベースからHTMLテーブルへのヘッダーとデータのインポート
は、下記のような表を作成することです:
簡単な説明がある:彼らは約束を作りたいときに、ユーザは、日付を入力します。 SQLテーブルは、選択日の3日前と3日後(この場合、ユーザは12月6〜17日に水曜日を選択)に加えて、ユーザが選択した日付の両方を取得します。ヘッダーは曜日を表し、下のタイムスロットはその日に予約可能な利用可能なタイムスロットを表します(これは17:00までになります)。タイムスロットが利用可能でない場合、そのタイムスロットはそこに表示されるべきではなく、次に利用可能なタイムスロットに置き換えられるべきである。
これは(非機能)PHPコードである:
<?php
require 'connection.php';
$conn = Connect();
$sql1 = 'SELECT DATE_b FROM daysofweek';
$query1 = mysqli_query($conn,$sql1);
$sql2 = 'SELECT TIME FROM daysofweek';
$query2 = mysqli_query($conn, $sql2);
?>
<table class="bookAppointment">
<thead>
<?php
while ($row = mysqli_fetch_array($query1)) {
echo '<tr>
<th>'.date('D, M d-y',strtotime($row['DATE_b'])).'</th>
</tr>';
}
?>
</thead>
<?php
while ($row = mysqli_fetch_array($query2)){
echo '<tr>
<td>'.$row['TIME'].'</td>
</tr>';
}
?>
</table>
その結果が上下各ヘッダーはプリント(別未満の)ことであると私は印刷にヘッダを希望水平に
ほとんどの場合、他のリソースでカバーされているのは、SQLヘッダーではなくSQLヘッダーのようにテーブルヘッダーを修正する必要があることです。ただし、この場合、各日付に属するタイムスロットに加えて、これらのヘッダーもデータベースから取得する必要があります。
この点に関するお手伝いをさせていただきます。たとえPHPコードを作ることができるか、またはこれがデータベース設計の問題であるかどうかについて、私がもっと読むことができる方向に私を指し示しているだけです。
ありがとうございます!
を生成し、
答えて
問題は単純に、あなたの
while
ループでは、列に加えて行をループしていることです。ループが実行されるたびに、新しい行が作成されます。あなたが現在持っている:
出力する:
をすべて同じ行にヘッダーセルを持つために、あなたは、単にあなたの外
<tr>
のごecho
を持参する必要がありますwhile
ループ:結果は:
これは役に立ちます。 :)
出典
2017-12-10 22:17:18
ありがとう@Obsidian時代の説明違う。それは本当に便利です!私は今すぐ自分のコードを修正することができました。再度、感謝します! – spoons
あなたのオリジナルコードが記載された直接的な回答ではありませんが、以下は、あなたがどのようにして目標を達成できるかを明確にしてください。配列
- 回、実際には、すべてのデータベースから引き出される必要がない - あなたが示すように$rsdates
と$rstimes
は、データベースを照会し、それぞれのレコードセットを反復処理によって取られるだろう。このコードではrange
を使用することができます。表のセルにIDを割り当てることによりあなたはまた、日/時間がクリックされたかを識別することができるはずである(いくつかのJavaScriptの相互作用を仮定して)
これは、次のHTMLテーブル
出典
2017-12-10 23:08:39 RamRaider
ありがとう@RamRaider。これは本当に良い解決策であり、PHPをよりよく理解するのに役立ちます! – spoons
良い - それが助けてうれしい。私はおそらくあなたがデータベースからこのテーブルにデータを追加したいと思いますか? – RamRaider
関連する問題