php - 关于取回处理的通知

标签 php mysql

这是我的 table :

enter image description here

我想要一个将从我指定 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/

相关文章:

php - 使用 PHP 动态生成 SIMPLE Paypal 按钮

php - 如何将当前的 POST 数组保存到 MySQL

php - 有没有办法知道一行是否更新?

mysql - 每日搜索记录

php - 有关如何继续验证注册用户和更新 mySQL 的代码的帮助

php - 如何在不同的子域上运行 Wordpress 管理员?

PHP:从日期字符串中搜索缺失的日期

mysql - 我应该在 MySQL 中使用大 INT 还是常规 INT 来存储时间戳?

mysql - 我们如何在 rails 中创建具有某些字符(如 EMP0001、EMP0002)的自定义主键

php - Codeigniter 访问回显表内的输入类型