 
			
				06.12.2012, 17:37
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.12.2012 
					
					
					
						Сообщений: 100
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как передать значение в php
			 
			
		
		
		
		Доброго времени суток. Попробую вкратце описать желаемый результат: 
 
Из базы данных загружаю 5 фотографий: 
 
pictures.php 
$offset=5 
if ($result = $mysqli->query("SELECT *  FROM `photo` ORDER BY `id` DESC LIMIT $offset, 5", MYSQLI_USE_RESULT)) { 
  
В конце страницы, которая вызывае pictures.php должен отображаться див с вызовом следующих 5 фотографий, т.е. $offset+5. После загрузки еще 5 фоток, опять такой див (Как доска на fb). 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.12.2012, 00:14
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.03.2011 
					
					
					
						Сообщений: 177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		ajax. 
Вам нужен PHP обработчик и условия запроса.
 
Например по событию onclick делаем ajax запрос и выводим результаты в модальном окне.
 
<a href="#" onclick="load_more()">Загрузить ещё</a>
function load_more() {
  $.ajax({
    type: "POST",
    url: "http://my_site/load_more_photos.php",
    data: { count: "5", user: "<?=$username?>" }
 }).done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
}
Код load_more_photos.php
 
<?
print_r($_POST);
?>
  
		
	
		
		
		
		
		
			
				__________________ 
				Cogito, ergo sum
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.12.2012, 01:04
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.12.2012 
					
					
					
						Сообщений: 100
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Спасибо. Но всё таки сам не смог разобраться. Если я правильно понял, то после нажатия на "загрузить еще", должен запуститься load_more_photos.php и вывести "5" и значение $username? 
 В моём случае файл pictures.php делат запрос в mysql и выводит 5 фотографий из базы данных, мне нужно что бы после нажатия "загрузить еще " без перезагрузки опять запустился pictures.php со значением $offset += 5 
Заранее благодарен! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.12.2012, 02:13
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.03.2011 
					
					
					
						Сообщений: 177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Не совсем. Ответ load_more_photos.php будет примерно таким 
array('count' => '5', 'user' => 'тут_то_значение_которое_вы_подставите')
Я внес переменную $username только для того, чтобы показать как передать переменную из основного php-сценария в JS и дальше в PHP-обработчик.
 
Обычно основной сценарий и обработчик отличаются. Поэтому Вам лучше сделать pictures.php и pictures_ajax.php  
		
	
		
		
		
		
		
			
				__________________ 
				Cogito, ergo sum
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.12.2012, 02:36
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.12.2012 
					
					
					
						Сообщений: 100
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я просто убрал GET и одну переменную и  поставил echo, по-этому и предположил, что выведет именно "5".  
 
На данный момент, на странице index.php находится  <div id="pagination" ><a href="#" class="add_more"  ><input type="text" name="5" id="offset" /> 
 
Сама же функция  
 
function load_more() { 
 
  $.ajax({ 
   type: "POST", 
   url: "all_gags_just_uploaded.php", 
   data: {offset:"1"}, 
   success: function(msg){ 
     alert( "Data Saved: " + msg ); 
   } 
 }); 
 
} 
 
В результате, когда я вызываю с index.php ссылку на load_more, добавляется всё правильно, но не передается значение $offset т.е. добавляется код еще одного pictures.php. Что я делаю не так? Как передать значение $offset обратно в pictures.php при вызове функции load_more? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.12.2012, 16:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.03.2011 
					
					
					
						Сообщений: 177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		1) Не надо ничего передавать назад. Просто счетчик вызовов сделайте: 
var offset = 0;
function load_more() {
offset = offset  + 1;
$.ajax({
type: "POST",
url: "all_gags_just_uploaded.php",
data: {offset: offset },
success: function(msg){
alert( "Data Saved: " + msg );
}
});
}
 
		
	
		
		
		
		
		
			
				__________________ 
				Cogito, ergo sum
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.12.2012, 17:34
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.12.2012 
					
					
					
						Сообщений: 100
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Спасибо, cmd.  
С этим разобрался. Счетчик работает и передает значение php обработчику. Но вся информация выводимая php выводится как alert, а мне нужно в виде html страницы (Т.е. что бы добавлялась еще одна фотография после той, которая уже есть на странице index.php). Как можно это сделать? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.12.2012, 17:36
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.12.2012 
					
					
					
						Сообщений: 100
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Если я правильно понял, то по Вашему скрипту, именно в переменной "msg" хранится вся необходимая информация, но она передается именно как alert. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.12.2012, 18:21
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.03.2011 
					
					
					
						Сообщений: 177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		См в доках:  append,  appendTo,  prepend
Например:
 
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		$('.inner').append(msg);
	 | 
 
	
 
  
		
	
		
		
		
		
		
			
				__________________ 
				Cogito, ergo sum
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.12.2012, 15:20
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.12.2012 
					
					
					
						Сообщений: 100
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Огромная благодарность Вам, cmd. 
Для моей цели больше подошел prepend. 
Но после добавления новой инфы, окно поднимается в положение top, а мне нужно, что бы осталось на том же уровне. Как это сделать? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |