HTML按钮提交最后一行而不是PHP SQL查询中的选定行

时间:2017-05-03 06:20:04

标签: php mysqli

我有一个sql查询,它从db表中获取数据。它从表中获取所有四行都很好。 我还有一个html按钮,用于插入所选行数据到db中的另一个表。

但问题是,在获取所有五行信息后,当我点击第三行或任何行的提交按钮时,它会单独插入最后一行的数据。

似乎我的sql存在一些对齐问题。

我的html / sql代码如下:

<?php 
    $sql2 = "SELECT * FROM landlordsignups ";
    $result2 = $conn->query($sql2);
    if ($result2->num_rows > 0) {                               
    while($row2 = $result2->fetch_assoc()) {                                   
?>
<form action="phppage.php" method="post" id="accept">
   <tr >
       <td><?php echo ($row2["name"]); ?></a></td>
       <td><?php echo ($row2["email"]); ?></a></td>
       <td><?php echo ($row2["location"]); ?></td>
       <td><?php echo ($row2["mobile"]); ?></td>
       <td><?php echo ($row2["date2"]); ?></td>
       <td><?php echo md5($row2["password"]); ?></td>
<input type="hidden" name="name" form="accept" value="<?php echo ($row2['name']); ?>" />
<input type="hidden" name="email" form="accept" value="<?php echo ($row2['email']); ?>" />
<input type="hidden" name="location" form="accept" value="<?php echo ($row2['location']); ?>" />
<input type="hidden" name="mobile" form="accept" value="<?php echo ($row2['mobile']); ?>" />
<input type="hidden" name="password" form="accept" value="<?php echo ($row2['password']); ?>" />
<input type="hidden" name="id" form="reject" value="<?php echo ($row2['id']); ?>" />
      <td><button type="submit" form="accept">Accept</button></td>
</form>
<form action="someotherphppage.php" method="post" id="reject">
      <td><button type="submit" form="reject">Reject</button></td>
</form>
</tr> 
<?php     }
     } else {
    echo "0 results";
}
?>

我接受按钮的PHP代码:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$password = md5($_POST['password']);
$location = $_POST['location'];
$mobile = $_POST['mobile'];

$date = date_default_timezone_set('Asia/Kolkata');
$date = date('M-d,Y H:i:s');
$date2 = date('M-d,Y');


$conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO table2 (name, email, password, location, mobile, date2)
VALUES ('$name', '$email', '$password', '$location', '$mobile', '$date2')";
if ($conn->query($sql) === TRUE) {

echo '<script language="javascript">';
echo 'alert("details have been inserted")';
echo '</script>';
echo '<a href="page.php"></a>';
}
else {
    echo "ERROR" . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

因此,在这里,它不是插入选定的行数据,而是插入最后一行的数据。

感谢任何帮助..

2 个答案:

答案 0 :(得分:2)

您在具有相同ID的循环中生成表单尝试使您的表单ID唯一,例如

<form action="phppage.php" method="post" id="accept<?php echo ($row2['id']); ?>"></form>

和拒绝表单相同

答案 1 :(得分:0)

从输入,表单和按钮中删除所有form="..."属性。

<input type="hidden" name="id" form="reject" value="">
<button type="submit" form="accept">Accept</button>

<input type="hidden" name="id" value="">
<button type="submit">Accept</button>