当前位置: 代码迷 >> PHP >> 关于ajax操作数据库后的数据处理有关问题
  详细解决方案

关于ajax操作数据库后的数据处理有关问题

热度:222   发布时间:2016-04-28 18:44:28.0
关于ajax操作数据库后的数据处理问题
在做一个页面,类似刷微博时拉到最下面可以选择“加载更多”,现在通过ajax实现了对数据库的操作
 function ajax() {
var page=document.getElementById("pageNum").value++;
          //先声明一个异步请求对象
          var xmlHttpReg = null;
          if (window.ActiveXObject) {//如果是IE

              xmlHttpReg = new ActiveXObject("Microsoft.XMLHTTP");

          } else if (window.XMLHttpRequest) {

              xmlHttpReg = new XMLHttpRequest(); //实例化一个xmlHttpReg
          }

          //如果实例化成功,就调用open()方法,就开始准备向服务器发送请求
          if (xmlHttpReg != null) {
              xmlHttpReg.open("get", "pro.php?index="+page, true);
               xmlHttpReg.send(null);
              xmlHttpReg.onreadystatechange = doResult; //设置回调函数

          }

          //回调函数
          //一旦readyState的值改变,将会调用这个函数,readyState=4表示完成相应

          //设定函数doResult()
          function doResult() {
          
              if (xmlHttpReg.readyState == 4) {//4代表执行完成
                 
                 
                  if (xmlHttpReg.status == 200) {//200代表执行成功
                      //将xmlHttpReg.responseText的值赋给ID为resText的元素
                      document.getElementById("resText").innerHTML = xmlHttpReg.responseText;
                                   

                  }
              }

          }
        

      }

后台数据库是php实现的,语句是

…………
$sql="select * from tb_test limit ".$index*4;
$result = mysql_query($sql, $con);

写到这儿不知道该怎么办了
通常情况下
使用while ($row=mysql_fetch_array($result)) {
……
}
就可以了,现在不知道改怎么输出,而且我的前台页面中,这些更新的数据是在一个table中
------解决方案--------------------
while ($row=mysql_fetch_array($result)) {
……
}
一样的在这个里面进行循环,但是此时可以加上tr等table下的标签然后组合成数组后,再转换成你要求的输出格式进行输出到结果就可以了。
------解决方案--------------------
将从数据库获取的数据(一般是数组),echo json_encode($res);
前台js用
var res=xmlHttpReg.responseText;
res=eval('('+res+')');
解出来
res['键名'],就可以获取对应的键值
  相关解决方案