嘿伙计们,我有一个问题要求你。
想象一下,我希望能够记录每周跑了多少里程,这样我就可以 将它与我每周设定的目标进行比较。所以我通过使用mysql_fetch_row创建了这个表。
$result=mysql_query("SELECT * FROM randomtable ORDER BY week ASC");
echo "<Table id='result' cellspacing='0'>
<tr class='toprow'>
<th>Week</th>
<th>Goal</th>
<th>Actual Number of Miles</th>
</tr>";
while($row = mysql_fetch_row($result))
{
echo "<tr class='standardrow'>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "<td><form><input method='post' type='number'></form></td>";
echo "</tr>";
}
echo "</table>";
这段代码在10周内有10个目标的表格中得出 - 以及实际里程数的列。此列应包含10个输入表单,其中可以提交实际里程数。但是,如何将提交表单的输入与提交表单所在的行相关联? 主键是一周 - 所以这将是与之相关的一周。
希望你明白我的问题是什么:)
答案 0 :(得分:1)
要执行此操作,您需要使用hidden input field。
当您echo
每一行以及该行中的表单时,您只需添加一行:
`<input type="hidden" name="row_id" value="' . $row['id_column'] . '" />';
完整的,您的代码将是:
$result=mysql_query("SELECT * FROM randomtable ORDER BY week ASC");
echo "<Table id='result' cellspacing='0'>
<tr class='toprow'>
<th>Week</th>
<th>Goal</th>
<th>Actual Number of Miles</th>
</tr>";
while($row = mysql_fetch_row($result))
{
echo "<tr class='standardrow'>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "<td>
<form>
<input method='post' type='number'>
<input type='hidden' name='row_id' value='" . $row['id_column'] . "' />
</form>
</td>";
echo "</tr>";
}
echo "</table>";
答案 1 :(得分:0)
我认为应该在循环中进行一些修改。
echo "<td><form method='post'><input type='number' value='".$rows['col_name']."'><input type='submit' ></form></td>";
此代码为每一行添加一个提交按钮。但是,这不应该是我的想法。 应该是这样的,
echo "<form method='post'> ";
while($row = mysql_fetch_row($result))
{
echo "<tr class='standardrow'>";
echo "<td>$row[0]</td>";
echo "<td>$row[1]</td>";
echo "<td><input type='number' value='".$rows['col_name']."'></td>";
echo "</tr>";
}
echo "<input type='submit' ></form>";
答案 2 :(得分:0)
或者使输入字段看起来像这样。
'<input type="text" name="row['.$row['id_column'].'][miles]" />';
发布时会返回一个数组。
foreach($_POST['row'] as $key => $value){
// $key is your primary key
// $value['miles'] is your input value
}