【发布时间】:2015-05-09 21:10:01
【问题描述】:
说实话,这个标题几乎可以解释自己。我正在尝试将我的删除列从 0 更改为 1,具体取决于从我的列表播放器下拉列表中选择的播放器。
我的 listPlayers.php 文件正在 100% 工作。玩家在下拉列表中显示良好。 我应该补充一点,错误发生在我的 $sql 变量中。
<?php
include 'dbconnect.php';
$sql = "UPDATE players SET Delete = 1 WHERE playersID = $_POST[playersIDHidden]";
if(! mysql_query($sql, $conn))
{
echo "Error " . mysql_error();
}
else
{
if(mysql_affected_rows() != 0)
{
echo $_POST[pName] . " has been deleted <br>";
echo "Person ID: " . $_POST ['playersID'] . "<br>";
echo "Players Name: " . $_POST ['pName'] . "<br>";
echo "Deletion complete";
}
else
{
echo "No records were changed";
}
}
mysql_close($conn);
?>
<form action = "viewPlayers.php" method = "POST" />
<input type = "submit" value = "View Players">
</form>
最后是我的 listPlayers.php,它在下拉列表中显示了我的玩家姓名。
<?php
include "dbconnect.php"; //Opening Database Connection
$sql = "SELECT * FROM `players` WHERE `Delete` = 0;";
if (!$result = mysql_query($sql, $conn))
{
die('Error in querying the database' . mysql_error());
}
echo "<br><select name = 'listPersons' id = 'listPersons' onclick = 'populate()'>";
while ($row = mysql_fetch_array($result))
{
$id = $row['playersID'];
$pName = $row['playersName'];
$dob = $row['playersDateOfBirth'];
$dob = date ("d-m-Y", strtotime($dob));
$allText = "$id, $pName, $dob";
echo "<option value = '$allText'> $pName </option>";
}
echo "</select>";
mysql_close($conn);
?>
抱歉,这篇文章比较长。我通常能够修复 99% 的未定义错误。这个让我迷路了。
干杯!
【问题讨论】:
-
“这可能是因为我的 playerID 文本框被禁用了吗?” - 在没有禁用的情况下尝试一下,看看你会得到什么结果。
-
有道理。它可以工作,但不允许编辑文本框。有什么方法可以让文本框保持启用状态,但仍然不允许用户编辑它们?
-
您可以随时尝试使用隐藏属性。
-
我会使用 hidden 属性,但是当我在 listPlayers 下拉列表中选择一个球员时,球员数据将在“删除”发生之前显示在相应的文本框中。不幸的是,在这种情况下,隐藏是行不通的。
标签: php sql undefined-index