首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用AJAX将数据插入数据库时遇到的问题

使用AJAX将数据插入数据库时遇到的问题
EN

Stack Overflow用户
提问于 2013-06-13 12:01:14
回答 2查看 88关注 0票数 0

我对这个代码片段有问题,它不能工作:

代码语言:javascript
运行
复制
.
.
.
<a href="#" id="$_GET['id1']" onclick="addToDb(<?php echo $_GET['id2'];?>)">Its a link</a>
.
.
.

"addToDb()“函数:

代码语言:javascript
运行
复制
<script>
     function addToDb(e)
     {alert(e);
         $.post("add_to_db.php",
         {
             id2:e,
             id1:this.attr("id")
         },
         function(data,status){
            alert("Data: "+data+"\nStatus: "+status);
         });
     }
 </script>

这个函数有效,因为"alert(e)“给出了"id2”的值。可能是id1:this.attr("id")出了什么问题,我试了试"alert(this.attr("id"))",但没起作用。

"add_to_db.php“页面是:

代码语言:javascript
运行
复制
<?php
  $connection=mysql_connect("localhost","root","") OR die('Could not connect: '.mysql_error());
  mysql_select_db("db_user",$connection);
?>
<?php
$id2=htmlspecialchars(trim($_POST['id2']));
$id1=htmlspecialchars(trim($_POST['id1']));
?>

<?php
$duplicacy_check="select * from tbl_name where id2='$id2' && id1='$id1' LIMIT 1";
$duplicacy_check_result=mysql_query($duplicacy_check) or die(mysql_error());
    if($duplicacy_check_result)
  {
?>
      <script>
          alert("Its already added !");
      </script>


<?php
      exit();
  }
else
  {
      $query="INSERT INTO tbl_name(id2,id1) VALUES('$id2','$id1')";
      mysql_query($query) or die(mysql_error());
?>
      <script>
          alert("Added to the db");
      </script>
<?php
  }
?>

不要把"id1","id2","tbl_name“等等,或者"id1”和“id2”的顺序搞混了,我知道。

请帮帮我,我在过去的两天里遇到了这个简单的问题。

EN

回答 2

Stack Overflow用户

发布于 2013-06-13 12:25:33

请尝试以下操作:

代码语言:javascript
运行
复制
<a href="#" id="$_GET['id1']" onclick="addToDb(<?php echo $_GET['id1'];?>, <?php echo $_GET['id2'];?>)">Its a link</a>

代码语言:javascript
运行
复制
<script>
     function addToDb(a, e)
     {
         $.post("add_to_db.php",
         {
             id2:e,
             id1:a
         },
         function(data,status){
            alert("Data: "+data+"\nStatus: "+status);
         });
     }
 </script>
票数 0
EN

Stack Overflow用户

发布于 2013-06-13 12:37:27

我相信错误是如您所说的: this.attr("id")示例:http://jsfiddle.net/fAHye/

将您的函数更改为:

代码语言:javascript
运行
复制
<script>
     function addToDb(elm, e)
     {alert(e);
         $.post("add_to_db.php",
         {
             id2:e,
             id1:elm.getAttribute("id")
         },
         function(data,status){
            alert("Data: "+data+"\nStatus: "+status);
         });
     }
 </script>

和HTML连接到

代码语言:javascript
运行
复制
<a href="#" id="<?php echo $_GET['id1']; ?>" onclick="addToDb(this,<?php echo $_GET['id2'];?>)">Its a link</a>

注:<?php echo $_GET['id1']; ?>

此外,触发器位于链接中这一事实可能会给您带来一些麻烦,因为页面将发生更改,请尝试使用其他标记或删除默认链接http://api.jquery.com/event.preventDefault

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

https://stackoverflow.com/questions/17079003

复制
相关文章

相似问题

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