<?php
$con = mysql_connect("localhost","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
if(!isset($_POST['submit'])){
$result = mysql_query("SELECT * FROM pleasework ORDER BY ID");
$row = mysql_fetch_array($result);
}
?>
<form action="?php echo $_SERVER['PHP_SELF'];?>" id="form2" method="post" name="form2">
<img id="close1" src="X.png" width="25" height="25" onclick ="div_hide1()">
<h2><font size="6">Please change existing data</font></h2>
<hr>
<br>
<font color="yellow">Change Name to: </font><input type="text" name="New" value="<?php echo $row['Name'];?>"/><br><br>
<font color="yellow"> Change Cause to: </font> <input type="text" name="New1" value="<?php echo $row['Cause'];?>"/><br><br>
<font color="yellow">Change Symptom to: </font><input type="text" name="New2" value="<?php echo $row['Symptom'];?>"/><br><br>
<font color="yellow"> Change Gene_affected to: </font><input type="text" name="New3"value="<?php echo $row['Gene_affected'];?>" /><br><br>
<input type="hidden" name="id" value="<?php echo $_GET['ID'];?>"/>
<input type="submit" onclick="clicked(event)" />
</form>
<?php
if(isset($_POST['submit'])){
mysql_query("UPDATE pleasework SET Name= '$_POST[New]' WHERE ID='$_POST[id]'");
mysql_query("UPDATE pleasework SET Cause= '$_POST[New1]' WHERE ID='$_POST[id]'");
mysql_query("UPDATE pleasework SET Symptom= '$_POST[New2]' WHERE ID='$_POST[id]'");
mysql_query("UPDATE pleasework SET Gene_affected= '$_POST[New3]' WHERE ID='$_POST[id]'");
echo "Change Successful<br>" ;
header("Location: databse.php");
mysql_close($con);
}
else {}
?>
这是我的 php 文件。
while($row = mysql_fetch_array($result))
{
echo "<TR>";
echo "<TD>" . $row['ID'] ."</TD>";
echo "<TD>" . $row['Name'] . " </TD>";
echo "<TD>" . $row['Cause'] . " </TD>";
echo "<TD>" . $row['Symptom']. " </TD>";
echo "<TD>" . $row['Gene_affected'] . " </TD>";
echo "<TD><a href=\"delete.php?id=" . $row['ID'] ."\"><font color='red'>Delete row</font></a> </TD>";
echo "<TD><a href=\"edit.php?id=" . $row['ID'] ."\"><font color='red'>modify</font></a> </TD>";
echo "</TR>";
}
此部分有一个链接到 edit.php 文件的修改按钮。这里的错误是,没有将表中的值带到编辑页面,然后提交表单也不起作用。请帮忙
最佳答案
您的代码看起来有点困惑。
首先,为什么要把修改例程放在输出表单之后呢?特别是在修改后发送 header
函数后,如果之前有一些输出,则会失败。
另请注意一个拼写错误:您忘记在 form
声明中正确打开 php 标记。按如下方式更改:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" id="form2" method="post" name="form2">
主要问题是您检查是否设置了$_POST[submit]
,但由于缺少属性name
,因此未设置。
按如下方式更改:
<input type="submit" name="submit" onclick="clicked(event)" />
现在你的脚本应该可以工作了(我没有测试过sql)。
另请注意,您的 UPDATE
例程是多余的:您可以通过以下方式将 4 条语句减少到只有 1 条:
$result = mysql_query
(
"UPDATE pleasework SET Name='{$_POST[New]}', Cause='{$_POST[New1]}', Symptom='{$_POST[New2]}', Gene_affected='{$_POST[New3]}' WHERE ID={$_POST[id]}"
);
关于 PHP 原始 MySQL API:
This extension is deprecated as of PHP 5.5.0, and has been removed as of PHP 7.0.0
关于php - 似乎无法通过 id 编辑/修改我的 php 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35114395/