我的ajax代码不会从php发送每一行

时间:2013-03-01 07:21:05

标签: php javascript mysql ajax

我有一个PHP代码,它是从数据库答案表中加载数据

php代码:

 <?php while ($rowanswer=mysql_fetch_assoc($answer)) :?>
       <div  class="text-soal2">

        <div class="vote-svj">
                <div class="vote-svj-vt3"><a class="voteupa" onclick="" ><img src="images/plus.png" alt="like" title="+"/></a></div>
                <div class="vote-svj-vt2"><?php echo $rowanswer['vote'] ;
                echo $aid=$rowanswer['id'];
                ?></div>
                <div class="vote-svj-vt"><a class="votedowna" ><img src="images/minus.png" alt="dislike" title="-"/></a></div>

           </div>


         <div class="text-javab">


               <p>

             <?php echo $rowanswer['answer'] ?>



               </p>  


      </div><div class="clr"></div>
      <h5>نوشته شده توسط <?php 

      $query1="select username from user where id=$rowanswer[user_id]";
      $senderanswer=mysql_query($query1);
$ssender=mysql_fetch_assoc($senderanswer);

      echo $ssender['username'];

       ?> در تاریخ <?php echo $rowanswer['date'] ?></h5>
   </div>
        <?php endwhile; ?> 

我努力将带有ajax的$ aid = $ rowanswer ['id']回复ID发送到另一个页面 但它只发送最后一个援助到另一个页面我怎么能用ajax发送每一行援助当我点击它按钮

ajax代码:

$('.votedowna').click(function(){
$.ajax({
         url : '<?php echo "php_func/answer_vote.php?aid=".$aid ?>',
         type : 'GET',

         data : { send : "dislike"},
        beforeSend : function()
        {
            alert(<?php echo $aid ?>);
            },
        success : function(callback){
            alert(callback);

        })


    });

3 个答案:

答案 0 :(得分:2)

你可以试试这个:

<div class="vote-svj-vt"><a class="votedowna" id="<?php echo $rowanswer['id'];"><img src="images/minus.png" alt="dislike" title="-"/></a></div>

然后在JS中获取我们在votedowna锚标记中添加的id并将其与url一起传递。

$('.votedowna').click(function(){
var aid = $(this).attr("id");
$.ajax({
         url : 'php_func/answer_vote.php?aid='+aid,
         type : 'GET',

         data : { send : "dislike"},
        beforeSend : function()
        {
            alert();
            },
        success : function(callback){
            alert(callback);

        })


    });

答案 1 :(得分:1)

因为.votedowna根据您的while循环的迭代次数重复自己,所以在你想要处理{{1}的方式之前必须有一个.each语句。事件。

click

这可能是个问题。 那么,你是否在PHP中的$('.votedowna').each(function() { $(this).click(function() { $.ajax( ... 内创建了Javascript代码,或者你有一个while文件? 因为如果您使用JS文件,那么您必须以不同方式传递ajax URL,这意味着您的Javascript应该如下所示,

.js

答案 2 :(得分:0)

首先,如果您尝试多次调用ajax方法,可以使用foreachfor循环来执行此操作。

其次,请不要在脚本中使用mysql_query,因为它太旧了。请改用PDO

最后,如果您需要多次在javascript中选择任何内容,可以使用.each()而不是使用.click

另外,使用像这样的标准查询编写方法

 SELECT username FROM user WHERE id= '$rowanswer[user_id]'