这是我的 table :
我想要一个将从我指定 Pid 的表中检索最大 QID 的查询。然后我想获取选定的值并将其加 1。我希望即使在 qid 上没有值(例如 Pid 为 1 或 2)时也能正常工作。
例如,如果最大 qid 为 1,其中 pid 为 1,我需要一个代码来检索值 qid=1 并将其加 1。那么新值,在本例中为“2”,应该存储在一个隐藏的输入字段中。例如,如果我在我的查询中放置“WHERE pid=4”并且我的表中没有 pid=4,它从 qid 检索空值,那也应该有效并且新值应该是 1(null + 1 = 1).
我有这个,但我不知道它是否正确。我可能在查询中做错了什么。
<?php
$qu = "SELECT coalesce(max(qid),1) AS id FROM answer_det WHERE pid = '1' ";
$result = $mysqli->query($qu);
if ($result->num_rows > 0) {
while($row = $result->fetch_array()) {
echo "
<form action='insertdilemma.php' method='post'>
<input type='text' name='ans1'>
<input type='hidden' name='qidsend' value='". $row["id"]. "'>
<input type='submit' name='submit' value='Send'>
</form>";
}}
else {
echo "0 results";
}
mysqli_close($mysqli);
?>
我收到此错误消息: 注意:在第132行尝试获取C:\xampp\htdocs\wildfire\dilemman.php中非对象的属性
这是第 132 行:if ($result->num_rows > 0) {
最佳答案
简单地删除第二个地方
$qu = "SELECT ifnull(max(qid)+1,1) AS id FROM answer_det WHERE pid = '1' ";
你应该提交新的 qid 和 id 。
echo "
<form action='insertdilemma.php' method='post'>
<input type='text' name='ans1'>
<input type='hidden' name='pidsend' value='". $row["pid"]. "'>
<input type='hidden' name='qidsend' value='". $row["id"]. "'>
<input type='submit' name='submit' value='Send'>
</form>";
关于php - 关于取回处理的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519571/