[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: заполнение таблицы с помощью ajax
MatrixGod
всем привет!

помоги пожалуйста сообразить как правильно и эффективнее заполнить таблицу с помощью ajax.

зачем?

дело в том что я заполняю огромную таблицу данными взятыми из другого ресурса с помощью его API.

обращаться к этому API надо столько раз сколько ячеек в таблице. а их как я уже сказал очень много.

обращаюсь так:
return json_decode(file_get_contents('блаблабла'))->{'count'};


и это как вы сами понимаете занимает очень много времени.
хотелось бы все эти обращения к API сделать одновременно и тем самым сэкономить время.

в общем, как лучше всего это сделать?

спасибо!
Игорь_Vasinsky
Цитата
в общем, как лучше всего это сделать?

т.к. вам позваляет это сделать API

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
MatrixGod, а при чем тут Аякс, если у тебя идет обращение к другому ресурсу из ПХП?
А во-вторых....Игорь_Vasinsky правильно сказал: смотри описание того АПИ. Если он позволяет выбрать сразу блок данных, то ты его получишь. Мы ж не знаем, как это делается, да и вообще, что за данные smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
MatrixGod
Игорь_Vasinsky и sergeiss,
тежело объяснить что за данные но могу лишь сказать что этот API не может возвращать сразу блок данных, я всю документацию прочитал от А до Я.
все что он может это вернуть JSON и XML, причем каждый раз только с одним значением... ну блин, такой вот он никчемный. sad.gif
как не крути надо к нему обращаться очень много раз...

короче, как лучше? ну можно и без ajax'а, мне в принципе все равно как ускорить это дело.

подскажите как правильней! нащальнике ругаецца мол ему в лом полторы минуты ждать пока репорт загрузится )))

спасибо!
sergeiss
Единственное, что приходит в голову - сделать красивый, анимированный показометр загрузки smile.gif
Если известно общее число строк, которые будут загружены, то показывать проценты загрузки. Если же общее число строк не известно, то показывать количество уже загруженных.
При приходе каждой новой строки пусть какой-нибудь смайлик радостно скачет...

Ясно дело, что загрузку ты не ускоришь, но хотя бы успокоишь пользователя.

PS. И я до сих пор не понял, почему ты показывешь свой ПХП-код, но называешь его АЯКС. То ли ты обращаешься к своему серваку, а он уже запрашивает второй сервер, то ли еще как...

PPS. Еще можно на сервере сделать прогу (можно даже на Си, например), которая будет делать много параллельных запросов. Либо попробовать как-то извратиться на ПХП, чтобы он сделал много параллельных запросов. Потом собрать все данные в кучу, в правильном порядке, и отдать скрипту.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
MatrixGod
sergeiss,
хех smile.gif я пхп код не называю аяксом. пхп код что я показал это то что я делаю сейчас. я просто думал как нить дергать этот пхп параллельно с помощью аякса.

у меня еще такой вопрос. сервак у меня сидит на линуксе.
я могу этот репорт на части разбить. хоть на 100 частей.
могу ли я как то на линуксе запустить скажем 100 пхп файлов параллельно и их output вернуть как-то в главный скрипт пхп?
если да то думаю это лучший вариант.

не подскажешь? smile.gif
sergeiss
Цитата (MatrixGod @ 8.05.2013 - 14:19)
могу ли я как то на линуксе запустить скажем 100 пхп файлов параллельно и их output вернуть как-то в главный скрипт пхп?если да то думаю это лучший вариант

И в винде, и в линуксе можно... Если суммарное время их работы будет меньше, то почему бы и нет?

На данный момент я вот что не понял. По твоим словам, на данный момент понятно следующее: ты отправил один запрос с клиента, запросил второй сервер, вернул данные клиенту, затем опять отправил запрос и т.д. до конца таблицы. А ты вообще пробовал последовательно запрашивать данные с этого "стороннего" сервера, но не отдавать их сразу клиенту? Чтобы не тратить время на ненужное общение клиент-сервер.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Xes
может я не совсем понял вашу задачу на "АЯКСЕ", но у меня сложилось такое впечатление что для того чтобы получить данные одной ячейки вам надо обратиться к странице другого сайта с неким параметром. например буква столбца - номер строки А4 он возваращает вам контент вы его хаваете и вставляете в вашу таблицу все это сделано циклом.

Если я вас правильно понял, то думаю мультикур вам подайдет. Формируете пачку запросов с различными параметрами и отправляете их все сразу, ну или часть в зависимости от того наскольок все же большая таблица, потом пришедшие обрабатываете.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.