Перейти к содержимому

Сервис обмена электронных валют


Нужна помощь по Ajax (не сложный вопрос)

#1 LeoN

LeoN
  • Пользователь
  • 2 сообщений
  • Репутация: 0
0

Отправлено 19 Май 2012 - 09:46

Доброго времени суток
вопрос в следующем имеются два блока div 1 и 2
и 2 ссылки соответственно с id 1 и 2

в базе у меня 2 записи которые выдают контент для правого блока и для левого.

[id] [block1] [block2]
1 1 блок 1стр. 2 блок 1стр.
2 1 блок 2стр. 2 блок 2стр.

код страницы
<div id = "main">
<div id="xz">
<a class="sel" id="1" href="#">Россия</a><br />
<a class="sel" id="2" href="#">Турция</a>
<div>
<div id="one"><p>Первый блок</p></div>
<div id="two"><p>Второй блок</p></div>
</div>
Код в jQuery
$(".sel").click(function(){
	 var id = $(this).attr("id");
	 $.ajax ({
	  url: "addpost.php",
	   type: "POST",
	   data: {id: id},
	   success: function (data) { $("#one").html(data);
		}
	  });
	 });
код addpost.php
require ("bd.php");
$id = $_POST[id];
$result = mysql_query("SELECT * FROM test WHERE id = $id",$db);
	$myrow = mysql_fetch_assoc($result);
echo $myrow[block1];
echo $myrow[block2];

Такая запись позволяет мне вывести из базы все данные в один из блоков в Первый (#one) или во второй (#two)

Вопрос: Как сделать так чтобы в ответе на запрос я получал 2 переменные с данными из 1 и 2 блока и мог записать их в 1 и 2 див соответственно?
Аяксом занимаюсь 15 минут от силы нужна помощь!

 

 

  • 0

#2 LeoN

LeoN
    Topic Starter
  • Пользователь
  • 2 сообщений
  • Репутация: 0

Отправлено 19 Май 2012 - 11:44

пока решил вопрос 2 -мя запросами к 2 разным файлам
addpost.php - результат выполнения block1
addpost2.php - результат выполнения block2
$(".sel").click(function(){
		 var id = $(this).attr("id");
		 $.ajax ({
		  url: "addpost.php",
		   type: "POST",
		   data: {id: id},
		   success: function (data) { $("#one").html(data);
				}
		  });

		 $.ajax ({
		  url: "addpost2.php",
		   type: "POST",
		   data: {id: id},
		   success: function (data) { $("#two").html(data);
				}
		  });
		 });
Работает, но я уверен есть более изящный способ!
  • 0

#3 c0ns0l3

c0ns0l3
  • Пользователь
  • 264 сообщений
  • Репутация: 49

Отправлено 22 Май 2012 - 07:17

Более изящный способ использовать json, в РНР ты кодируешь массив данных ( в котором у тебя могут быть хоть 1000 переменных разных типов). После чего в JS ты декодируешь их обратно в массив.

Смысл JSON - кодирует масивы данных в одну переменную, которая спокойно гуляет по посту или гету без потерь данных.

Доки:
http://php.net/manua...json-encode.php
http://api.jquery.co...uery.parseJSON/

Для увеличения кругозора:
http://api.jquery.com/jQuery.getJSON/
  • 0


Оформление форума – IPBSkins.ru