Показать сообщение отдельно
  #1 (permalink)  
Старый 09.06.2010, 21:38
Новичок на форуме
Отправить личное сообщение для Robox Посмотреть профиль Найти все сообщения от Robox
 
Регистрация: 09.06.2010
Сообщений: 6

Суперглобальные PHP увидеть в JS
Здравствуйте.

Подскажите способ, как увидеть суперглобальную переменную PHP ($GLOBALS) в JS, возможно ли применить какой трюк?

Что я хотел бы реализовать:
есть страница, что генерируется динамически с помощью PHP
Выводит к примеру динамическое кол-во новостей на странице, новость состоит из краткой аннотации и тела самой новости.

Как бы хотел реализовать следуюущее:
страница генерируется, из БД берем все данные, выводим на показ только аннотации новостей.
Около каждой аннотации ява кнопка, типа "Show/Hide" при нажатии которой в заданом DIV`e вывело бы саму новость, вторичное нажатие скрыло новость.

Вариант просто прятать а потом показывать - не подходит, типа всё задуманно с условием именно - полного скрытия новости (т.е. новости нет в теле страницы, она висит в глобальном массиве) от грабберов, граберы JS ведь не подерживают?

Вариант на Prototype.js :

function show(id){
   var url = "/show.php";
   var pars = {idv: id};  
   var myAjax = new Ajax.Updater({success: 'id_'+id}, url, {method: 'post', parameters: pars, onFailure: reportError});
 
 function reportError(request) {
 alert ('Sorry. Error.');
 }
}


- обломился, в виду того, что файл "show.php" получает только ID новости, а глобальную переменную $GLOBALS - не видит, т.к. файл "show.php" загружен как бы заново а не в ссесии той страницы...

Вариант в файле "show.php" делать запросы к БД, чтобы получить новость и вывести её -тоже не подходит, дело в том, что этих, т.н. новостей может быть на одной странице как одна, так и 100...
Если человек будет жать кнопку показа всех новостей поочередно, то будет много запросов к БД только с одной страницы...

Есть мысли?
Ответить с цитированием