1

嘿伙计们,我有一个问题要问你。

想象一下,我希望能够跟踪我每周跑了多少英里,这样我就可以将它与我为每周设定的目标进行比较。所以我使用 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 个输入表格,可在其中提交实际里程数。但是如何将提交表单的输入与提交表单所在的行相关联?主键是星期 - 所以这将是相关的。

希望你明白我的问题是什么:)

4

3 回答 3

1

为此,您将使用隐藏的输入字段

当您在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>";
于 2013-04-29T14:38:40.927 回答
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>";
于 2013-04-29T14:46:42.750 回答
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
}
于 2013-04-29T14:49:59.483 回答