我有一个带有编辑按钮的表(每个产品一个),单击该按钮时,我希望它编辑特定的行。
这是我的桌子
<?php
require 'connect.php';
$query = $link->query("SELECT * FROM fornecedor");
echo "<table border='1' cellpadding='2' cellspacing='2'";
echo "<tr>
<td>Nome</td>
<td>NIF</td>
<td>Cidade</td>
<td>Rua</td>
<td>NrPorta</td>
<td>Website</td>
<td>email</td>
<td>Editar</td>
<td>Eliminar</td>
<td>Adicionar</td>
</tr>";
while ($row = $query->fetch_array() ) {
echo "<tr>";
echo "<td>" . $row["Nome"] . "</td>";
echo "<td>" . $row["NIF"] . "</td>";
echo "<td>" . $row["Cidade"] . "</td>";
echo "<td>" . $row["Rua"] . "</td>";
echo "<td>" . $row["NrPorta"] . "</td>";
echo "<td>" . $row["Website"] . "</td>";
echo "<td>" . $row["Email"] . "</td>";
echo "<td><a href='editarFornecedor.php'><img src='images/edit.svg' width='40px' height='30px'></a></td>";
echo "<td><a href='eliminarFornecedor.php'><img src='images/delete.png' width='30px' height='30px'></a></td>";
echo "</tr>";
};
echo "</table>";
$link->close();
?>这是我的编辑页面:
include 'connect.php';
$result = mysqli_query($link,"SELECT * FROM Fornecedor");
while($row = mysqli_fetch_array($result))
?>
<form method="post" action="edit_data.php">
<input type="text" name="id" value="<?php echo "$row[id]"?>">
<tr>
<td>Nome</td>
<td>
<input type="text" name="Nome" size="40" value="<?php echo "$row[Nome]"?>">
</td>
</tr>
<tr>
<td>Nif</td>
<td>
<input type="text" name="Nif" size="40" value="<?php echo "$row[NIF]"?>">
</td>
</tr>
<tr>
<td>Cidade</td>
<td>
<input type="text" name="Cidade" size="40" value="<?php echo "$row[Cidade]"?>">
</td>
</tr>
<tr>
<td>Rua</td>
<td>
<input type="text" name="Rua" size="40" value="<?php echo "$row[Rua]"?>">
</td>
</tr>
<tr>
<td>NrPorta</td>
<td>
<input type="text" name="NrPorta" size="40" value="<?php echo "$row[NrPorta]"?>">
</td>
</tr>
<tr>
<td>Website</td>
<td>
<input type="text" name="Website" size="40" value="<?php echo "$row[Website]"?>">
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input type="text" name="Email" size="40" value="<?php echo "$row[Email]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit" name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
<?php mysqli_close($link);?> 我只看到没有值的表单,我希望使它们可见,这样用户就可以编辑数据。我做错什么了?编码不好还是遗漏了什么?
发布于 2014-06-11 19:40:55
所有的$row值都是这样的:
$row[Nome]当他们应该有这样的单引号时:
$row['Nome']此外,HTML中的echo行如下所示:
<input type="text" name="Email" size="40" value="<?php echo "$row[Email]"?>">但是那些"双引号是不需要的,所以应该是这样的:
<input type="text" name="Email" size="40" value="<?php echo $row['Email'] ?>">以下是我试图解决上述问题的尝试。我认为它应该有效:
<form method="post" action="edit_data.php">
<input type="text" name="id" value="<?php echo $row['id'] ?>">
<tr>
<td>Nome</td>
<td>
<input type="text" name="Nome" size="40" value="<?php echo $row['Nome'] ?>">
</td>
</tr>
<tr>
<td>Nif</td>
<td>
<input type="text" name="Nif" size="40" value="<?php echo $row['NIF'] ?>">
</td>
</tr>
<tr>
<td>Cidade</td>
<td>
<input type="text" name="Cidade" size="40" value="<?php echo $row['Cidade'] ?>">
</td>
</tr>
<tr>
<td>Rua</td>
<td>
<input type="text" name="Rua" size="40" value="<?php echo $row['Rua'] ?>">
</td>
</tr>
<tr>
<td>NrPorta</td>
<td>
<input type="text" name="NrPorta" size="40" value="<?php echo $row['NrPorta'] ?>">
</td>
</tr>
<tr>
<td>Website</td>
<td>
<input type="text" name="Website" size="40" value="<?php echo $row['Website'] ?>">
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input type="text" name="Email" size="40" value="<?php echo $row['Email'] ?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit" name="submit value" value="Edit">
</td>
</tr>
</form>
</table>发布于 2014-06-11 19:40:39
您忘了将数组对象的名称放在引号中。
而不是:
$row[Email]尝试:
$row['Email']诸若此类。
发布于 2014-06-11 19:44:12
问题是,您忘记使用您的$row['']在您的编辑页面的引号!
哦,而且我也不知道你是怎么用$row['']在下一页得到ID的。尝试使用查询字符串链接:
/editarFornecedor.php?id=" . $row['id'] . "
然后,在编辑页面上,使用ID查找用户要编辑的行:
$_GET['id'],让它成为一个变量,并在您的input标记上使用它!此外,您还可以在输入中添加disable!
https://stackoverflow.com/questions/24171203
复制相似问题