【问题标题】:How to POST HTML table data created from PHP如何发布从 PHP 创建的 HTML 表格数据
【发布时间】:2023-04-05 05:45:01
【问题描述】:
.
.
.
while ( $row = mysql_fetch_array($res) )
{                   
    echo "<tr>";
    echo "<td><input type=\"radio\" name=\"mod\" /></td>";
    echo "<td>" . $row['a'] . "</td>";
    echo "<td>" . $row['b'] . "</td>";
    echo "<td>" . $row['c'] . "</td>";
    echo "<td>" . $row['d'] . "</td>";
    echo "<td>" . $row['e'] . "</td>";
    echo "</tr>";
}
echo "</table>

使用 PHP "echo" 将数据库数据打印到 HTML 表中。

例如,当它显示时,将有 X 行,每列 6 列(5 个数据和一个单选按钮)。

对于使用单选按钮选择的行,我需要将所有特定行数据发布到另一个 .php 页面。

我最初的想法是为单选按钮创建一个 onClick() 函数,将数据作为函数的参数,然后让函数使用该数据执行 AJAX POST。

或者我应该在桌子周围创建一个表格?如果是这样,我如何将这些行数据作为表单数据获取?

有没有更好的办法?

【问题讨论】:

  • mysql 函数已弃用。您应该考虑使用更新的函数,定义为 here

标签: php javascript html post


【解决方案1】:

如果您对每一行都有一些 ID,您只需将其与单选按钮相关联,一旦提交,您的 PHP 脚本将能够根据发送的 ID 确定选择了哪个。

echo "<td><input type=\"radio\" name=\"mod\" value=\"" . $row['id'] . "\" /></td>";

一般来说,我建议不要从 PHP 打印 HTML,而是按照应该完成的方式嵌入它

<?php while ( $row = mysql_fetch_array($res) ) : ?>
<tr>
<td><input type="radio" name="mod" value="<?php echo $row['id'] ?>" /></td>
<td><?php echo $row['a'] ?></td>
<td><?php echo $row['b'] ?></td>
<td><?php echo $row['c'] ?></td>
<td><?php echo $row['d'] ?></td>
<td><?php echo $row['e'] ?></td>
</tr>
<?php endwhile; ?>

【讨论】:

  • 如果你想收回你的答案,至少解释一下原因。否则,只要您的答案被接受,您的答案就会一直存在。
【解决方案2】:

最好的方法可能是让单选按钮的值对应于行号。提交表单后,从数据库中检索该行。

.
.
.
echo "<tr>";
echo "<td><input type=\"radio\" name=\"mod\" value=\""./*row number*/."\" /></td>";
echo "<td>" . $row['a'] . "</td>";
echo "<td>" . $row['b'] . "</td>";
echo "<td>" . $row['c'] . "</td>";
echo "<td>" . $row['d'] . "</td>";
echo "<td>" . $row['e'] . "</td>";
echo "</tr>";
.
.
.

在表单处理程序中

$rownumber = $_POST["mod"]
// whichever mysql function - make the same query as the first page
// get row $rownumber

【讨论】:

    猜你喜欢
    • 2021-07-23
    • 2011-06-12
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    相关资源
    最近更新 更多