【问题标题】:How To Update Mysql Database After Clicking Button With Link?单击带有链接的按钮后如何更新Mysql数据库?
【发布时间】:2014-10-19 10:07:20
【问题描述】:

我正在使用以下代码通过 fancybox 打开一个 url。当用户单击此按钮时,我想更新 mysql 数据库。

当前代码是:

 <a class="fancybox fancybox.iframe more_info_btn" href="http://www.google.com">
 <button style="cursor:pointer; padding:8px;">Test Live Session</button></a>

当用户点击按钮并在fancybox中打开url时,我想更新mysql数据库。

mysql更新如下

mysql_query("UPDATE tablename SET test_session_clicked='1' 
WHERE reg_id=".$_SESSION['user_id21']");

【问题讨论】:

  • 如果不想刷新页面,只需使用按钮提交表单或使用ajax
  • 不要使用mysql_函数。它们已被弃用。您应该考虑迁移到 mysqli_ 或 PDO。而且你的代码很可能容易出现 SQL 注入。同时,您要求弥合差距的技术称为 AJAX — 您使用 JS 对执行查询并(可选)返回响应的服务器脚本进行 AJAX 调用。
  • 好的...但是如何在我们使用 url 的 Ajax 标头中使用 href 类?
  • 你想使用 jquery 吗?

标签: php jquery mysql


【解决方案1】:

使用这个

<a class="fancybox fancybox.iframe more_info_btn" href="http://www.google.com">
<button style="cursor:pointer; padding:8px;" id="btn">Test Live Session</button></a>



 jQuery('#btn').click(function(){
    jQuery.ajax({
         type:'POST',
         url:'your Php file path',
         data:{'updated':true},
         dataType:'json'
         success:function(data){
          alert(data.error);
         }
    })
    })

php 文件你的

    if (isset($_POST['updated'])){

   $queryStr = "UPDATE tablename SET test_session_clicked='1' 
    WHERE reg_id=".$_SESSION['user_id21'];
    if ( mysql_query($qyeryStr)){
         echo json_encode(array('error'=>false));
    }else{
         echo json_encode(array('error'=>true));
     }
    }

【讨论】:

  • 您的 test_session_clicked 文件类型是整数?
  • 你得到 ajax 响应?
  • 我没明白你的意思... test_session_cliked 是数据库中的一列,类型为 tinyint
  • 使用这个查询 $queryStr = "UPDATE tablename SET test_session_clicked=1 WHERE reg_id=".$_SESSION['user_id21'];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-16
  • 1970-01-01
  • 1970-01-01
  • 2014-01-17
  • 1970-01-01
  • 2016-06-11
  • 2018-02-14
相关资源
最近更新 更多