PHP echo表上的“删除”按钮不起作用
下面是我的PHP echo delete代码,其中包含一个delete按钮。按下时,我希望从数据库中删除该条目PHP echo表上的“删除”按钮不起作用,php,mysql,html-table,Php,Mysql,Html Table,下面是我的PHP echo delete代码,其中包含一个delete按钮。按下时,我希望从数据库中删除该条目 $result = mysql_query("SELECT * ,CONCAT (HomeScore,'-',AwayScore) AS Score, CONCAT(Against) AS Game FROM Fixture WHERE TeamID='9' ORDER BY Date DESC"); echo "<table id='customers' border='1'&
$result = mysql_query("SELECT * ,CONCAT (HomeScore,'-',AwayScore) AS Score, CONCAT(Against) AS Game FROM Fixture WHERE TeamID='9' ORDER BY Date DESC");
echo "<table id='customers' border='1'>;
<tr>
<th>FixtureID</th>
<th>Competition</th>
<th>Match</th>
<th>Date</th>
<th>Time</th>
<th>Score</th>
<th>test</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FixtureID'] . "</td>";
echo "<td>" . $row['Competition'] . "</td>";
echo "<td>" . $row["Against"] . "</td>";
echo "<td>" . $row['Date'] . "</td>";
echo "<td>" . $row['Time'] . "</td>";
echo "<td>" . $row['Score'] . "</td>";
echo "<td><form method=post>
<input name=id type=hidden value='".$row['FixtureID']."';>
<input type=submit name=submit value=Delete>
</form></td>";
echo "</tr>";
echo "</tr>";
}
}
echo "</table>";
// delete record
if($_SERVER['REQUEST_METHOD'] == "POST")
{
if(isset($_POST['FixtureID']))
{
$id = FixtureID;
$sql = mysql_query("DELETE FROM Fixture WHERE FixtureID =$id");
if(!$sql)
{
echo ("Could not delete rows" .mysql_error());
}
}
}
$result=mysql\u查询(“选择*,CONCAT(HomeScore,“-”,AwayScore)作为分数,CONCAT(对抗)作为Fixture中的游戏,其中TeamID='9'按日期描述排序”);
回声”;
固定物
竞争
火柴
日期
时间
分数
测验
";
while($row=mysql\u fetch\u数组($result))
{
回声“;
回显“$row['FixtureID']”;
回显“$row['Competition']”;
回显“$行[”对“]”;
回显“$row['Date']”;
回显“$row['Time']”;
回显“$row['Score']”;
回声“
";
回声“;
回声“;
}
}
回声“;
//删除记录
如果($\u服务器['REQUEST\u METHOD']==“POST”)
{
如果(isset($_POST['FixtureID']))
{
$id=固定器id;
$sql=mysql_查询(“从Fixture中删除,其中FixtureID=$id”);
如果(!$sql)
{
echo(“无法删除行”。mysql_error());
}
}
}
我怎样才能让它工作?此外,FixtureID在数据库中存储为整数。尝试以下更改:
// delete record
if(isset($_POST['submit']) && isset($_POST['id']) && !empty($_POST['id'])) {
$id = $_POST['id'];
$sql = mysql_query("DELETE FROM Fixture WHERE FixtureID =$id");
if(!$sql) {
echo ("Could not delete rows" .mysql_error());
}
}
编辑:
// Delete record if ID submitted
if(isset($_POST['submit']) && isset($_POST['id']) && !empty($_POST['id'])) {
$id = $_POST['id'];
$sql = mysql_query("DELETE FROM Fixture WHERE FixtureID =$id");
if(!$sql) {
echo ("Could not delete rows" .mysql_error());
}
}
// Get datas from BDD
$result = mysql_query("SELECT * ,CONCAT (HomeScore,'-',AwayScore) AS Score, CONCAT(Against) AS Game FROM Fixture WHERE TeamID='9' ORDER BY Date DESC");
// Display data
echo "
<table id='customers' border='1'>
<tr>
<th>FixtureID</th>
<th>Competition</th>
<th>Match</th>
<th>Date</th>
<th>Time</th>
<th>Score</th>
<th>test</th>
</tr>";
// For each result
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['FixtureID'] . "</td>";
echo "<td>" . $row['Competition'] . "</td>";
echo "<td>" . $row["Against"] . "</td>";
echo "<td>" . $row['Date'] . "</td>";
echo "<td>" . $row['Time'] . "</td>";
echo "<td>" . $row['Score'] . "</td>";
echo "<td><form method=post>
<input name=id type=hidden value='".$row['FixtureID']."';>
<input type=submit name=submit value=Delete>
</form></td>";
echo "</tr>";
echo "</tr>";
}
echo "</table>";
//如果ID已提交,则删除记录
如果(isset($\u POST['submit'])和&isset($\u POST['id'])和&!empty($\u POST['id'])){
$id=$_POST['id'];
$sql=mysql_查询(“从Fixture中删除,其中FixtureID=$id”);
如果(!$sql){
echo(“无法删除行”。mysql_error());
}
}
//从BDD获取数据
$result=mysql_查询(“选择*,CONCAT(HomeScore,“-”,AwayScore)作为分数,CONCAT(对抗)作为Fixture中的游戏,其中TeamID='9'按日期描述排序”);
//显示数据
回声“
固定物
竞争
火柴
日期
时间
分数
测验
";
//对于每个结果
while($row=mysql\u fetch\u数组($result)){
回声“;
回显“$row['FixtureID']”;
回显“$row['Competition']”;
回显“$行[”对“]”;
回显“$row['Date']”;
回显“$row['Time']”;
回显“$row['Score']”;
回声“
";
回声“;
回声“;
}
回声“;
$id
值未正确设置
$id = $_POST['FixtureID'];
试试这个
if(isset($_POST['submit']))
{
$id = $_POST['id']; // here you should use form post value
$sql = mysql_query("DELETE FROM Fixture WHERE FixtureID =$id");
if(!$sql)
{
echo ("Could not delete rows" .mysql_error());
}
}
}
我认为您没有提到结果您正在查看变量
$\u POST['FixtureID']
,它不应该是$\u POST['id']
?将//delete record
块放在显示代码之前可能值得一试,这样您就不需要在单击“删除”按钮后刷新页面。在要发布数据的表单中使用操作,而不是在可以使用锚链接的每一行中创建表单。在查询字符串中传递id或使用ajax。您还在循环中创建表单,这意味着您正在创建一个具有相同名称“id”的按钮。这将产生一个同名元素的数组。$id=$\u POST['FixtureID']代码>@Aliasse谢谢你还不能接受答案,因为时间还不够,但我会的。如何使其在单击后刷新,使其自动消失?@user3535330-移动删除该行的代码,使其在列出所有行的代码之前运行。@Quentin是对的。将此代码移到数据表和数据查询之前。@Aliasse和我已更新代码以显示所有内容抱歉,代码到底去了哪里?我没有luck@Quentin我已经更新了我的代码来显示一切对不起,它到底去了哪里我没有运气