首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery Ajax mysql记录删除不工作

jQuery Ajax mysql记录删除不工作
EN

Stack Overflow用户
提问于 2013-11-23 19:38:52
回答 1查看 844关注 0票数 0

我有下面的php文件来显示数据库中的选择数据

代码语言:javascript
代码运行次数:0
运行
复制
$connection = mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("Pripojeni se       nezdarilo" . mysql_error());
mysql_select_db('svatepole');
$sql = "SELECT * FROM novinky";
$result = MySQL_Query($sql, $connection);


while($zaznam = MySQL_Fetch_Row($result)):

echo "<form class='newsholder'>";

echo "<input value='$zaznam[1]'>";
echo "<input value='$zaznam[2]'>";
echo "<textarea>$zaznam[3]</textarea>";
echo "<input id='prime' attr='id' value='$zaznam[0]'>";

echo "<div class='buttonsholder'>";
echo "<button id='deletebutton'>Smazat</button>";
echo "<button>Upravit</button>";
echo "</div>";
echo "<div class='clearfix'></div>";

echo "</form>";
endwhile;

我正在尝试添加jquery

代码语言:javascript
代码运行次数:0
运行
复制
$('#deletebutton').on('click', function(){

var idVal = $(this).parent().parent().find('#prime').val();

alert(idVal)
$.post("deleterecord.php",
{id:idVal}

);

});

若要查找该行的ID并将其传递给DELETE文件,请单击此行即可删除该行。

代码语言:javascript
代码运行次数:0
运行
复制
$connection = mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD) or die("Pripojeni se     nezdarilo" . mysql_error());

$id = $_POST['id'];

if(! $connection )
{
  die('Could not connect: ' . mysql_error());
}
$sql = "DELETE FROM novinky WHERE id = $id" 
   ;

mysql_select_db('svatepole');
$retval = mysql_query( $sql, $connection );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";

mysql_close($connection);

但是,我不能让它起作用。根据Chrome控制台,有一个事件处理程序只附加到第一行,尽管数据库包含的内容更多。另外,添加的警报仅在单击第一个按钮时弹出。

知道吗,我做错了什么,如何正确地将数据传递给删除查询?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-23 20:11:45

代码语言:javascript
代码运行次数:0
运行
复制
echo "<button id='deletebutton'>Smazat</button>";

将此更改为

代码语言:javascript
代码运行次数:0
运行
复制
echo "<button class='deletebutton'>Smazat</button>";

在jquery中使用。

代码语言:javascript
代码运行次数:0
运行
复制
$('.deletebutton').on('click', function(){
    var idVal = $(this).parent().parent().find('#prime').val();

    alert(idVal)
    $.post("deleterecord.php",{id:idVal},function(response){ alert(response);});

 });

当你使用id =‘删除按钮’时,.jquery会检查id‘删除按钮’的第一个元素。因此,事件处理程序仅附加到带有id=“删除按钮”的第一个元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20166964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档