我有一个PHP生成的表单,其中包含一个项目列表,每个项目旁边都有一个按钮,上面写着“删除它”,它输出类似于下面的内容:
Item A - [Remove This]
Item B - [Remove This]
...
我希望能够单击“删除此项”,它将检测它是哪个项目,然后从数据库中删除它。到目前为止,这是我的代码:
selectPlaces.php
<?php
include 'data.php';
mysql_connect($host, $user, $pass) or die ("Wrong Information");
mysql_select_db($db) or die("Wrong Database");
$result = mysql_query("SELECT * FROM reseller_addresses") or die ("Broken Query");
while($row = mysql_fetch_array($result)){
$placeName = stripslashes($row['b_name']);
$placeCode = stripslashes($row['b_code']);
$placeTown = stripslashes($row['b_town']);
$outputPlaces .= "<strong>$letter:</strong> $placeName, $placeTown, $placeCode <input type=\"button\" onclick=\"removePlace()\" value=\"Remove This\" /><br />";
}
mysql_close();
?>
加上我的admin.php
<div id="content" style="display:none">
Remove a Place<br><br>
<?php include 'selectPlaces.php'; echo $outputPlaces; ?>
</div>
我知道我需要添加一些javascript来检测单击了哪个按钮,但我似乎无法使其正常工作。我尝试通过在函数removePlace(placeID)中传递一个变量来修改onclick =“removePlace()”,但是我是JavaScript的新手,我不知道如何在removePlace函数中接收它。 / p>
答案 0 :(得分:3)
您不需要JavaScript。尝试运行此示例:
<?php var_dump($_POST); ?>
<form action="post.php" method="post">
<p>
<input type="submit" value="a" name="action" />
<input type="submit" value="b" name="action" />
</p>
</form>
您会看到$_POST['action']
取决于按下了哪个按钮。对于您的示例,您只需设置值以标识需要删除的项目。使用<button>
元素可能很有用:<button name="delete" type="submit" value="12345">delete item 12345</button>
。在提交时,它将显示为$_POST['delete']
,其值为12345。
答案 1 :(得分:3)
没有JavaScript,这似乎更容易。对于每个条目而不是仅生成一个按钮,生成一个表单,该表单发布到执行删除的PHP脚本。
<form action="deletePlace.php?id=<?php echo $idOfThePlace?>">
<input type="submit" value="Remove This" />
</form>
$idOfThePlace
将是您用来标识数据行的ID。