Показать сообщение отдельно
  #1 (permalink)  
Старый 09.07.2015, 13:40
Новичок на форуме
Отправить личное сообщение для Evsik Посмотреть профиль Найти все сообщения от Evsik
 
Регистрация: 09.07.2015
Сообщений: 4

как передать php массивы через ajax
Итак, имеется страница с GET переменной $_GET[id], с помощью которой осуществляется запрос к БД, и все поля из таблицы плюс эта GET-переменная засовываются в массив $page,

$page['id']=$_GET[id];

$sel = "SELECT * FROM users WHERE id='$_GET[id]'";
$res = mysql_query($sel); 

$page_data=mysql_fetch_assoc($res);

$page['login']=$page_data['login'];
$page['name']=$page_data['name'];
$page['sirname']=$page_data['sirname'];

только полей в 4 раза больше

Также на странице используются сессии ($_SESSION[]).
Пока, надеюсь, все ясно

Имеется div class="page" в котором нужно обновлять контент из бд, используя переменные в массивах, все работает идеально (без обновлений) но задача такова.

Начал я решать эту задачу вырезав все в .page в отдельный php документ и пытался его загружать через $(".page").load("elems/page_content"); c setInterval, но терялось соединение с бд и массивов было не достать, кстати тоже не знаю почему. Но тут меня осенило, я решил через AJAX, ведь с ним можно передавать данные в data, но тут загвоздка, как передать массивы $page и $_SESSION ???

Буду очень благодарен если покажете что и как.

код получился такой

function show() 
{ 
$.ajax({ 
url: "/elems/user-published.php", 
cache: false, 
data:page:<?php echo $page?>,
beforeSend: function(){
$(".page").html("");
},
success: function(data){ 
$(".page").html(data); 
} 
}); 
} 

$(document).ready(function(){ 
show(); 
setInterval('show()',5000); 
});
Ответить с цитированием