欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-14 15:39:03
...
在做一个页面,类似刷微博时拉到最下面可以选择“加载更多”,现在通过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['键名'],就可以获取对应的键值

将从数据库获取的数据(一般是数组),echo json_encode($res);
前台js用
var res=xmlHttpReg.responseText;
res=eval('('+res+')');
解出来
res['键名'],就可以获取对应的键值



然后在JS里面输出那些表格吗?

你可以像1楼说的,在php里面组织好表格(就是一个字符串),然后直接echo,js获取后不用解,直接插入到要显示的位置
因为我觉得js循环数据组织html比较麻烦(一般情况下),还不如php组织好直接输出