【发布时间】:2016-08-11 19:54:33
【问题描述】:
我目前正在使用 HTML、PHP、Javascript 和 AJAX 的组合来创建 HTML,从 MySQL 数据库中的表中填充它,然后在表中添加一个内部以删除行,并从 MySQL 数据库中删除该条目。这是我目前拥有的:
<?php
echo '<table id="tag_table" border=1>
<tr>
<th>Tags</th>
<th>Delete Tag</th>
</tr>';
$iter = 0;
$rows = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach($rows as $row) {
echo "<tr id=" . $iter . "\">";
echo "<td>" . $row['name'] . "</td>";
echo "<td>";
echo "<button id=\"delete\">Delete</button>";
echo "</td> </tr>";
}
?>
现在我想做的是向删除按钮添加 .click() 功能,但我被卡住了,因为我想使用以下 Javascript 删除该行:
function deleteTag(btn) {
var row = btn.parentNode.parentNode;
row.parentNode.removeChild(row);
}
但我还需要删除 MySQL 数据库中的相应条目,需要 PHP(我不能在 javascript 文件中使用它)。如果有人对如何完成这些事情有可能的解决方案或想法,我将不胜感激。
感谢您的帮助。
编辑 1. 我的 PHP 代码:
<?php
$db = new PDO('my info here bla bla bla');
$query = "DELETE FROM Tags WHERE name=" . $_POST['name'];
$db->exec($query);
$db = null;
?>
【问题讨论】:
-
首先您要修复标记。您正在添加多个具有相同
id值的元素,这是无效的。除此之外,您要问的基本上是如何使用 AJAX。您没有“在 JavaScript 中使用 PHP”,而是向服务器上的 PHP 脚本发出 AJAX 请求,该脚本将从数据库中删除。有许多 AJAX 教程可以帮助您入门。你用 jQuery 标记了这个问题,它有很多简单的 AJAX 操作的例子。 -
您已经命名了您的解决方案 (AJAX),或者如果您使用纯 js,只需使用 XMLHttpRequest。被调用的 PHP 代码只需要向 MySQL 服务器发送一条 SQL 语句。 XMLHttpRequest 示例:w3schools.com/ajax/ajax_php.asp SQL/PHP 示例:w3schools.com/php/php_mysql_delete.asp
标签: php jquery html mysql ajax