Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将javascript中的JSON数组解析为pHp和mysql-无需jQuery_Javascript_Php_Mysql_Json - Fatal编程技术网

将javascript中的JSON数组解析为pHp和mysql-无需jQuery

将javascript中的JSON数组解析为pHp和mysql-无需jQuery,javascript,php,mysql,json,Javascript,Php,Mysql,Json,我有一个JSON对象,它获取我在页面上的图像列表。这些图像是使用数据库随机生成的。我希望在用户单击“显示更多”时,继续使用AJAX添加图像。找到图像src,以便在AJAX调用时不会从数据库中提取重复的图像 我想知道如何将这个数组解析为pHp文件,以执行SQL语句来获取更多要附加到图像列表中的图像。在php文件中,我将如何从中选择元素。因此,SELECT*从图像中,图像不在(JSON数组)顺序中,按rand()限制12 代码 var imageArray = {}; imageArray.item

我有一个JSON对象,它获取我在页面上的图像列表。这些图像是使用数据库随机生成的。我希望在用户单击“显示更多”时,继续使用AJAX添加图像。找到图像src,以便在AJAX调用时不会从数据库中提取重复的图像

我想知道如何将这个数组解析为pHp文件,以执行SQL语句来获取更多要附加到图像列表中的图像。在php文件中,我将如何从中选择元素。因此,
SELECT*从图像中,图像不在(JSON数组)顺序中,按rand()限制12

代码

var imageArray = {};
imageArray.itemList = [];

function imagesLoaded(){
    var gal_img_thumbs = document.getElementsByClassName("gal-thumb-image");
    for (var i = 0; i < gal_img_thumbs.length ; i++){
        var img = gal_img_thumbs[i].firstChild.getAttribute("src");         
        var new_obj = {'src':img};
        imageArray.itemList.push( JSON.stringify(new_obj));

        //imageArray.itemList.[i]['src']=img;
    }
}

function loadImages(){
    console.log("load images");
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        }
    }
  xmlhttp.open("GET","getimages.php?imgArray="+imageArray.itemList,true);
  xmlhttp.send();
}
var-imageArray={};
imageArray.itemList=[];
函数imagesLoaded(){
var gal_img_thumbs=document.getElementsByClassName(“gal thumb图像”);
对于(变量i=0;i
我强烈建议您不要这样做,如果数组中有500个项,那么您的最后一页将有一个包含492个异常的SQL查询(基于每页12个异常的想法)。这会给数据库带来很大的负担。按
rand()
排序的效率也非常低。我可以建议预先生成一个随机数吗?然后,您可以使用normallimit子句来防止引起问题,并且结果不会按任何字段排序。如果每个人都应该得到不同的结果,或者在重新加载时得到新的结果,请告诉我,我会提出其他建议。如果再次调用php并再次生成随机数,假设我们有:数据库中的图像1、2、3、4、5、6、7、8在HTML页面中调用图像2、4、5再次调用php可能会导致2、4、5也发生变化。我想留下2,4,5,然后再生成另外3个随机图像,但2,4,5解释一下你想看什么,你的最终目标是什么?每一次参观都应该有一个独特的图像视图吗?如果可能的数量减少以提高性能并使代码易于管理,这可以吗?还是每次都必须是完全唯一的(即,您可以有10000个可能的随机变量,并从集合中选择一个)?每次用户登陆第12页时,都会随机生成图像。通过php执行对数据库的AJAX调用时,应随机加载更多元素,例如,单击按钮时再加载12个元素。这些新生成的12个图像应该是已加载图像的唯一图像。用户不需要再次请求页面,因此使用AJAX。