Создание таблицы, каждая строка которой содержит кнопку, относящуюся к данным этой строки

#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>'; нормально