PHP, данные POST только из одной строки (id) из WHILE l oop, когда SUBMIT - PullRequest
0 голосов
/ 15 февраля 2020

Выпуск , как я могу POST необходимые данные (id, username, и т. Д. c.) Только для одной строки, от while l oop, когда submit ?

Код (я использую POST в качестве "функции" вызова delete_member, с условием if, что может быть лучше?).

if(isset($_POST["delete_member"]))
{
# Delete member
echo $id=$_POST["id"];
$sql="delete from members where id = $id";
mysqli_query($db,$sql) ? $status = true : $status = false;
message($status);
}

$select_members = mysqli_query($db,"select * from members");
while($row = mysqli_fetch_array($select_members))
{
echo('
<tr>
<td><input type="text name="id" value="'.$row['id'].'" readonly></td>
<td><input type="text name="username" value="'.$row['username'].'" readonly></td>
<td><input type="text name="password" value="'.$row['password'].'" readonly></td>
<td><input type="text name="active" value="'.$row['active'].'" readonly></td>
<td><input type="submit" name="delete_member" value="Smazat"></td>
<td><input type="submit" name="send_email" value="Odeslat email"></td>
<tr>
');
}

Ничего не хранится в echo $id=$_POST["id"];. Возможна ли отправка id с input type="submit"? Например, вот так.

<input type="submit" name="delete_member" id=".$row['id']." value="Smazat">

Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2020

в конце, лучший метод - изменить input на button, где value не отображается, поэтому value может быть $row['id'] и имя находится между тегами <button>NAME</button>.

if(isset($_POST["deleteMember"]))
{
# Delete member
$id=$_POST["deleteMember"];
$sql="delete from members where id = $id";
mysqli_query($db,$sql) ? $status = true : $status = false;
message("Smazání člena",$status);
}

while($row = mysqli_fetch_array($select_members))
{
echo('
<tr>
<td><input type="text name="id[]" value="'.$row['id'].'" readonly></td>
<td><input type="text name="username[]" value="'.$row['username'].'" readonly></td>
<td><input type="text name="password[]" value="'.$row['password'].'" readonly></td>
<td><input type="text name="active[]" value="'.$row['active'].'" readonly></td>
<td><input type="text name="sentEmailAll" value="'.$row['email_sent'].'" readonly></td>
<td><button type="submit" name="deleteMember" value="'.$row['id'].'">Vymazat člena</button></td>
<tr>
');
}

Но я считаю, что это не элегантно, я считаю, что есть лучший способ решить подобные вещи.

0 голосов
/ 15 февраля 2020
if(isset($_POST["delete_member"]))
{
# Delete member
echo $id=$_POST["id"];
$sql="delete from members where id = $id";
mysqli_query($db,$sql) ? $status = true : $status = false;
message($status);
}

$select_members = mysqli_query($db,"select * from members");
while($row = mysqli_fetch_array($select_members))
{
echo('
<tr>
<td>'.$row['id'].'</td>
<td>'.$row['username'].'</td>
<td>'.$row['password'].'</td>
<td>'.$row['active'].'</td>

<td><form method="post" action="HERE_FILL_IN_SCRIPT_URL"><input type="hidden" name="id" value="'.$row['id'].'"><input type="submit" name="delete_member" value="Smazat"><input type="submit" name="send_email" value="Odeslat email"></form></td>
<tr>
');
}
...