当前位置: 代码迷 >> PHP >> 关于回复功能解决办法
  详细解决方案

关于回复功能解决办法

热度:5   发布时间:2016-04-28 17:42:34.0
关于回复功能
数据库读取出的回复内容:
$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";
$result=$db->query($sql);
while (($row=$result->fetch_assoc())!=false) {

 echo  '<div id="msg">
           <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
                    <tr>
                       <th scope="row" width="100" align="center"><strong id="mid">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th>
                       <td><p id="msgten">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy();">回复</a>'.$row["time"].'</span></td>
                    </tr>
               </table>
</div>';
}


将上面读出来的内容复制到textarea里 :
<script>
 function toCopy(){
 var midval= document.getElementById("mid").innerHTML;
 var msg= document.getElementById("msgten").innerHTML;
         document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]";
         document.getElementById("msgcon").focus();
 }
</script>


效果:


问题是 :文本框里显示的永远是数据库读出来的最后一条,也就是第13条,如何做到点哪个回复就把那条复制到框里
------解决思路----------------------
id="msgten"

你的id重复了,不能这样用的。
修改为这样看看

$sql="select * from massage where iid=$iid order by mid desc limit $offset,$pagesize";
$result=$db->query($sql);
$i = 0;
while (($row=$result->fetch_assoc())!=false) {
     
     echo  '<div id="msg'.$i.'">
               <table width="800" height="auto" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
                    <tr>
                       <th scope="row" width="100" align="center"><strong id="mid'.$i.'">#'.$row["mid"].'</strong><br /><a href="data.php">'.$row["author"].'</a></th>
                       <td><p id="msgten'.$i.'">'.$row["msg"].'</p><span><a href="#msgcon" onclick="toCopy('.$i.');">回复</a>'.$row["time"].'</span></td>
                    </tr>
               </table>
            </div>';

    $i++;
}



<script>
     function toCopy(c){
         var midval= document.getElementById("mid"+c).innerHTML;
         var msg= document.getElementById("msgten"+c).innerHTML;
         document.getElementById("msgcon").value = "回复"+midval+"楼"+"["+msg+"]";
         document.getElementById("msgcon").focus();
     }
</script>
  相关解决方案