PHP でファイル (行と列でフォーマットされている) を開き、ファイルの行をループして、特定の条件を満たすテーブルに行をエコーアウトしています。エコーアウトする各行で、フォームタグでラップしています。最終的に、20 行をエコーアウトすると、それぞれにボタンがある 20 個のフォームがエコーアウトされます。コメント ボックス付きのコラムもエコーアウトしています。エンド ユーザーがこのページにアクセスし、各行にコメントを入力し、送信ボタンを押して行の結果をデータベースに保存できるようにしたいと考えています。解決方法がわからない問題が 2 つあります。
1.) 結果をテーブルにエコーアウトするとき、SQL 挿入ステートメントを作成するときに参照する静的変数を作成しません。後で呼び出すことができるように、各データにラベルを付けるにはどうすればよいですか?
2.) 複数のフォームがあり、ユーザーは一度に 1 つしか使用しません。ユーザーが送信をクリックしたときに、同じ行のデータ フィールドのみが送信されるようにするにはどうすればよいですか?
うまくいけば、これは理にかなっています。そうでない場合は、必要に応じて明確化を追加します。PHPに関しては間違いなく初心者なので、これは貧弱な設計だと確信していますが、タイムラインがタイトで、今のところ動作する製品が必要です。来週戻って、おそらくより良い解決策を実装することができます。親切な人が提案するものだと確信しています:)
<?php
if (($handle = fopen("name of file to open here", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) {
if ($data[4] == $login){
$num = count($data);
echo "<form action='analyzer.php' method='post'>";
echo "<tr>";
echo "<td>";
echo $data[1];
echo "</td>";
echo "<td>";
echo $data[2];
echo "</td>";
echo "<td>";
echo $data[3];
echo "</td>";
echo "<td>";
echo $data[4];
echo "</td>";
echo "<td>";
echo $data[5];
echo "</td>";
echo "<td>";
echo $data[6];
echo "</td>";
echo "<td>";
echo $data[7];
echo "</td>";
echo "<td>";
echo $data[8];
echo "</td>";
echo "<td>";
echo "<input type='text' name='comments' />";
echo "</td>";
echo "<td>";
echo "<input class='mybutton' type='submit' name='#' value='Submit' />";
echo "</td>";
echo "</tr>";
echo "</form>";
}
fclose($handle);
}
}
?>