次のコードのphpでループ内の各テキストボックスに異なる名前を割り当てる方法を誰か教えてください..
while($data=mysql_fetch_array( $sql )){
print "<tr><td>".$data['idno']." </td><td>".$data['name'] . " </td><td> <input type=text name=obtmarks</td></tr>";
}
次のコードのphpでループ内の各テキストボックスに異なる名前を割り当てる方法を誰か教えてください..
while($data=mysql_fetch_array( $sql )){
print "<tr><td>".$data['idno']." </td><td>".$data['name'] . " </td><td> <input type=text name=obtmarks</td></tr>";
}
$i = 0;
while($data=mysql_fetch_array( $sql ))
{
Print "<tr><td>{$data['idno']}</td><td>{$data['name']}</td><td> <input type=\"text\" name=\"obtmarks{$i++}\"/></td></tr>";
}
コードをクリーンで読みやすい状態に保ちます。""、{}、および '' を適切に使用してください。
編集:
while($data=mysql_fetch_array( $sql ))
{
Print "<tr><td>{$data['idno']}</td><td>{$data['name']}</td><td> <input type=\"text\" name=\"obtmarks[]\"/><input type=\"hidden\" name=\"obtmarks_id[]\" value=\"{$data['idno']}\"/></td></tr>";
}
そして、2 ページ目には、$_POST で待機している 2 つの配列があり、ユーザー入力を含む obtmarks[] と、対応する ID を含む obtmarks_id[] があります。
$obtmarks = $_POST['obtmarks[]'];
$obtmarks_id = $_POST['obtmarks_id[]'];
foreach($obtmarks as $k => $v) {
// PSEUDO SQL: INSERT $v .... WHERE id=$obtmarks_id[$k]
}
素敵でシンプルなカウンターを使用できます。
$i=0;
while($data=mysql_fetch_array( $sql ))
{
echo "<tr><td>".$data['idno']." </td>
<td>".$data['name'] . " </td>
<td> <input type='text' name='obtmarks_".$i."'></td></tr>";
$i++;
}
注: また、開き括弧と閉じ括弧を修正し、要素内に必要な場所に引用符を付けました。
これを行う最も簡単な方法は、配列内にあるフォーム要素を作成することです。
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
したがって、おそらく次を使用できます。
$fmt = "<tr><td>%s</td><td>%s</td><td>input type='text' name='obtmarks[]'></td></tr>\n";
?><table><tr><th>ID</td><th>Name</th></tr><?php
while ( $data=mysql_fetch_array( $sql ) ) {
printf($fmt, $data['idno'], $data['name']);
}
?></table>
名前が何であるかが重要でない場合は、次のような簡単なことを行うことができます:
$counter = 0;
while($data=mysql_fetch_array( $sql ))
{
print "<tr><td>".$data['idno']." </td><td>".$data['name'] . " </td><td> <input type='text' name='obtmarks{$counter}' /></td></tr>";
$counter += 1;
}
<input type=text name=" .$variable." /></td></tr>"
$variable は、異なる値を持つ mysql TABLE、フィールドから取得するか、以下の回答としてカウンターを使用することができます。