#php #html #ajax #html-table
#php #HTML #ajax #html-таблица
Вопрос:
Мне было интересно, как я смогу создать кнопку, которая была бы связана с информацией в этой строке.
На данный момент у меня есть массив, содержащий имя пользователя, фамилию и номер телефона. Я также хотел бы создать кнопку, чтобы при нажатии пользователем информация о человеке переходила на следующую страницу PHP.
Должен ли я создавать форму каждый раз, когда я создаю строку в массиве?
Пока у меня есть:
foreach($array as $row)
{
echo (
"<tr>".
"<td>".$row['last_name']. "</td>".
"<td>".$row['first_name']. "</td>".
"<td>".$row['phone_no']. "</td>".
"<td>".$row['date_of_birth']. "</td>".
"<td>".$row['membership']. "</td>".
"<td><Button>Reserve</Button></td>".
"</tr></table>");
}
Причина, по которой это повторяется, заключается в том, что я использую ее в функции ajax и хочу вывести результат таким образом.
Есть предложения?
Ответ №1:
Для этого вы можете использовать новый атрибут данных HTML5:
<td><Button data-id='4'>Reserve</Button></td>
Затем вы можете использовать javascript, или, более конкретно, функциональность jQuery .data(), чтобы получить это значение данных
Редактировать
<!-- Firstly give your button a class -->
<td><button class='ajax_button' data-id='4'>Reserve</button></td>
Затем Javascript
// On click for a button
$(".ajax_button").click(function(){
// Get the id data attribute
var id = $(this).data("id");
});
Комментарии:
1. Большое вам спасибо! Сегодня узнал кое-что новое!
Ответ №2:
HTML-формы http://www.w3schools.com/html/html_forms.asp
вам нужна только одна форма со многими входными данными. если вы хотите ввести в форму несколько данных, вы можете просто присвоить ей имя типа name='data[{n}][last_name]'
, где {n} — увеличенное число или идентификатор строки.
после отправки у вас будет массив, подобный $_POST['data'][{n}][<fields>]
вам также не нужны фигурные скобки вокруг ваших данных, чтобы они отображались эхом. echo '<stuff>';
нормально