Как вернуть данные json в меньших объемах из PHP
var btn = document.getElementById("button"); //create an event listener and on click get function to load json data from json file btn.addEventListener("click", function() { var xreq = new XMLHttpRequest(); var response = document.getElementById("videoObjs"); xreq.open('GET', 'xjsonData.php', true); xreq.onload = function() { response.innerHTML += xreq.responseText; //.php echo saved prints on here console.log(response); }; xreq.send(null); });
$file = "data.txt"; $content = file_get_contents($file); //gets json data content $arr =json_decode($content, true); //converts json to php associative array print_r($arr); echo "<br><br>";
Что я уже пробовал:
у меня есть большой json-файл, каждый раз, когда я нажимаю на кнопку, он загружает все большие объемы данных на страницу, есть ли способ загрузить только первые 100 результатов, затем при следующем щелчке загрузить еще 100 результатов и так далее, пожалуйста, спасибо, используя чистый php, javascript, php , json.. нет mysql, и нет фреймворков, таких как j query или что-то еще, просто пытаясь использовать чистые языки
ilhomelv
добавлена переменная gloal page и инкремент страницы при каждом вызове, пытаясь передать этот параметр через Get в PHP, теперь застрявший там в PHP
Скрыть скопировать код
var page="";var btn = document.getElementById("button");//create an event listener and on click get function to load json data from json filebtn.addEventListener("click", function() { var xreq = new XMLHttpRequest(); var response = document.getElementById("videoObjs"); xreq.open('GET', 'xjsonData.php?page='+page, true); xreq.onload = function() { response.innerHTML += xreq.responseText; //.php echo saved prints on here console.log(response); }; xreq.send(null); page++; console.log('page '+page);});
$page = $_GET['page']; $file = "data.txt"; $content = file_get_contents($file); //gets json data content $arr =json_decode($content, true); //converts json to php associative array print_r($arr); echo "<br><br>"; echo "page: ".$page; echo "<br><br>"; echo "count: ".count($arr); echo "<br><br>";