@kolibry1
web-developer- junior

Как передавать данные, которые генерирутся динамически?

Добрый вечер.
Есть витрина с товарами, товары выводятся в цикле из БД:
<?php	
	while($row = mysql_fetch_array($result))
	{
	?>
		<div class="col-md-1 myrow">
			<?php		
		  	echo $row['id_book']; /* из базы */
 		   ?>
		</div>
		<div class="col-md-2 myrow">
			<?php		
		  	echo $row['name'];
 		  	?>
		</div>
		<div class="col-md-2 myrow">
			<?php		
		  	echo $row['title'];
 		   	?>
		</div>
		<div class="col-md-3 myrow">
			<?php		
		  	echo $row['img'];
 		   	?>
		</div>
		<div class="col-md-3 myrow">
			<?php		
		  	echo $row['text_anonse'];
 		   	?>
		</div>
		<div class="col-md-1 myrow">
			<form action="POST">
				<input type="submit" value="Купить">
			</form>	
		</div>
 	 <?php			   	
	  }	  
 ?>


Мне надо, чтобы при нажатии на кнопку "купить" в таблицу БД "orders" попадала инфа из соответствующей строки витрины (то есть по сути, из соответствующей итерации цикла, который выводит книги), и + еще в orders заносилось id авторизованного покупателя.
вопрос - как реализовать это дело?
получается, что каждая строка витрины (каждый товар) должен быть формой?
и получается, что вся выводимая инфа о книгах должна находиться внутри этой формы, и иметь свои name, которые передадутся по POST и запишутся в бд?
а как мы им присвоим name, если name - это html'ный тег, а записи выводятся через php, еще и в цикле?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1) mysql_ более не будет поддерживаться PHP (depricated).
2) Да, проще всего отдельные формы, существует такая штука как скрытое поле.
3) в коменте вам написали - можно сделать аяксом, не перезагружая страницу, почитайте про аякс.
4) id пользователя тоже можно отсылать аяксом, теоретически он у вас хранится в сессии.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы