#php #html
Вопрос:
Кнопка HTML не выбирает правильное значение формы. Следующий код выбирает данные и правильно отображает их в таблице html: fname, lname , customer_id, а в последнем столбце таблицы отображается кнопка с надписью «Дополнительная информация». Первая часть кода работает нормально.
<table>
<thead>
<tr>
<th>First Name</th> <th>Last Name</th> <th>Customer ID</th><th>Info</th>
</tr>
</thead>
<tbody>
<tr>
<?php
$sql = "select fname, lname,customer_id from customer_address ";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_assoc($result)){
$fname = $row['fname'];
$lname = $row['lname'];
$customer_id = $row['customer_id'];
echo" <tr>";
echo"<td>$fname</td>";
echo"<td>$lname</td>";
echo"<td>$customer_id</td>";
echo"<td><input type='hidden' name='customer_id' value='$customer_id'>";
echo "<button type='submit' name='submit'>More Info</button></td>" ;
}
echo" </tr>";
?>
</tbody>
</table>
</form>
Во второй части кода я хочу захватить идентификатор пользователя при нажатии кнопки и отобразить его под таблицей(я собираюсь использовать переменную в последующем запросе для отображения дополнительной информации позже). Кнопка выбирает один и тот же идентификатор пользователя независимо от того, какая кнопка нажата, и это всегда последняя запись в таблице. Я был бы признателен за любую помощь в исправлении моей ошибки.
<?php
$ccf=" ";
if(isset($_POST['submit'])){
$ccf = $_POST['customer_id'];
}
echo "Customer Id selected is:$ccf";
?>
Комментарии:
1. Они, кажется, все в одной форме, поэтому в них есть несколько элементов
name='customer_id'
. Поместите каждую строку в свою собственную форму2. @ brombeer отлично работает, спасибо, пожалуйста, опубликуйте в качестве ответа, чтобы я мог принять. Спасибо
3. Готово, рад, что это работает 😉
Ответ №1:
Все ваши элементы находятся внутри одной формы, поэтому в ней есть несколько элементов name='customer_id'
. Поместите каждую строку в свою отдельную <form></form>
:
<table>
<thead>
<tr>
<th>First Name</th> <th>Last Name</th> <th>Customer ID</th><th>Info</th>
</tr>
</thead>
<tbody>
<?php
$sql = "select fname, lname,customer_id from customer_address";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_assoc($result)){
$fname = $row['fname'];
$lname = $row['lname'];
$customer_id = $row['customer_id'];
echo" <tr>";
echo "<td>$fname</td>";
echo "<td>$lname</td>";
echo "<td>$customer_id</td>";
echo "<td>";
echo "<form action='' method='post'>";
echo "<input type='hidden' name='customer_id' value='$customer_id'>";
echo "<button type='submit' name='submit'>More Info</button>";
echo "</form>";
echo "</td>";
echo" </tr>";
}
?>
</tbody>
</table>