一个新闻,有评论 评论有支持和反对(类似于cnBeta上面新闻的评论),现在已经可以通过ajax点击“支持”链接,实现数据库字段+1的功能。 
问题是在页面上无法直接显示已经评论的数据 第一条评论不显示数据,第二条后面的虽然显示,但数据也不对或者点“支持”链接后,当场显示数据+1,但你刷新页面后,又变回原样了截图:
静态页: 支持[<span id="txtshowA<?php get_comment_info('id')?>">
<script type="text/javascript">
support1(<?php get_comment_info('id')?>);
</script>
</span>]&nbsp;反对[<span id="txtshowB<?php get_comment_info('id')?>">
<script type="text/javascript">
against1(<?php get_comment_info('id')?>);
</script>
</span>]
js文件:
var xmlHttp1;
var xmlHttp2;<!-- 初次输出评论支持数量 -->
function support1(str)
{
xmlHttp1=GetXmlHttpObject()
if (xmlHttp1==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url1="../js/support1.php"
url1=url1+"?sid="+str
xmlHttp1.onreadystatechange= function()
{
stateChanged11(str)
};
xmlHttp1.open("GET",url1,true)
xmlHttp1.send(null)
}function stateChanged11(str)
{
var txtshow="txtshowA"+str
if (xmlHttp1.readyState==4 || xmlHttp1.readyState=="complete")
{
document.getElementById(txtshow).innerHTML=xmlHttp1.responseText
}
}<!-- 初次输出评论反对数量 -->
function against1(str)
{
xmlHttp2=GetXmlHttpObject()
if (xmlHttp2==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url2="../js/against1.php";
url2=url2+"?sid="+str
xmlHttp2.onreadystatechange= function()
{
stateChanged22(str)
};
xmlHttp2.open("GET",url2,true)
xmlHttp2.send(null)
}function stateChanged22(str)
{
var txtshow="txtshowB"+str
if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete")
{
document.getElementById(txtshow).innerHTML=xmlHttp2.responseText
}
}

解决方案 »

  1.   

    再写个php读取数量,在window.onload中触发调用
    window.onload=function(){
       此处用ajax 调用php取数量  
    }
      

  2.   


    支持[<span id="txtshowA" onclick="support1(<?php get_comment_info('id')?>);">
    <?php get_comment_info('id')?>
    </span>]&nbsp;反对[<span id="txtshowB" onclick="against1(<?php get_comment_info('id')?>);">
    <?php get_comment_info('id')?>
    </span>]
      

  3.   

    <?php get_comment_info('id')?> =这条评论在数据库中的id点击“支持”链接,实现数据库字段+1的功能已经搞出来了现在只是要打开页面时,直接显示评论支持率