我有一个表,其中一些单元格填充来自mysql的数据,然后我想添加一个按钮来更改特定行的内容(提供参数作为change.html的隐藏输入,以便它们被传入并在change.html中检索它们。我为最后一列添加了一个输入表单操作类型提交,但无论我做什么,它都不起作用。在一个修订版中,我有一整行 输入类型=提交名称=id_html id=id_html 值=0
显示单元格内容。我很困惑,因为这在另一个平台上有效。我不想用 JAVAScript 来做这件事。请注意,我使用单引号 ' 作为表单输入,并在其中使用双引号来构造 html 代码,而不与变量/值的双引号等交互。
$conn = new mysqli($server, $user, $password, $database); echo "<h2>Avaliable pets</h2><ol>";
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } echo "conneced successfully";
$sql = "SELECT * from cats"; $result=$conn->query($sql);
if ($result->num_rows > 0)
{ echo " table,th, td {边框: 1px 纯黑;}";回声” IDNameOwnerBirthChange"; while ($row = $result->fetch_assoc()) { echo " td [文本对齐:居中;]"; $id=$row["id"]; $名称=$行[“名称”]; $所有者=$row["所有者"]; $出生=$row["出生"];
//echo "<tr><td>".$id."</td><td>".$name."</td><td>".$owner."</td><td>".$birth."</td><td></td></tr";
echo "<tr><td>".$id."</td><td>".$name."</td><td>".$owner."</td><td>".$birth."</td><td>";
echo '输入类型=“提交”名称=“id_html”id=“id_html”值=“'.$id.'”/>' 回声“”;
}
}
将
input type="submit"
更改为 <input type="submit">
更正表格单元格内定义表单、输入和按钮的方式。
尝试这个更新的代码:
$conn = new mysqli($server, $user, $password, $database);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "<h2>Available pets</h2><ol>";
$sql = "SELECT * from cats";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<style> table, th, td {border: 1px solid black;}</style>";
echo "<table><tr><th>ID</th><th>Name</th><th>Owner</th><th>Birth</th><th>Change</th></tr>";
while ($row = $result->fetch_assoc()) {
$id = $row["id"];
$name = $row["name"];
$owner = $row["owner"];
$birth = $row["birth"];
echo "<tr><td>" . $id . "</td><td>" . $name . "</td><td>" . $owner . "</td><td>" . $birth . "</td><td>";
echo '<form action="change.html" method="get">';
echo '<input type="hidden" name="id_html" value="' . $id . '">';
echo '<input type="submit" value="Change">';
echo '</form>';
echo "</td></tr>";
}
}
变化
修复了表单、输入和按钮的 HTML 标记。
添加了一个隐藏输入字段,将
'id'
传递给 'change.html'
页。
删除了不必要的样式标签和对齐属性。