我有一个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();
?>
因此,在这里,它不是插入选定的行数据,而是插入最后一行的数据。
感谢任何帮助..
答案 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>