【问题标题】:How to add more than one comment box in PHP using PHPMyAdmin?如何使用 PHPMyAdmin 在 PHP 中添加多个评论框?
【发布时间】:2013-12-31 11:32:43
【问题描述】:

我正在使用 PHPMyAdmin 来构建一个类似于评论框的表格。我使用的文件是 PHP 脚本,我使用 PHPMyAdmin 为反馈/评论表单设置了“id”、“name”和“comment”值。当我输入名称和评论时,我很高兴看到它起作用了。之后,它出现在底部。然后,当我尝试添加第二条评论时,它不会存储在页面或数据库表的任何位置。它只保留我输入的第一条评论,而第二条评论在哪里找不到。我认为它与行数限制有关,但我查看了 PHPMyAdmin 并看到了 LIMIT 0,30,这意味着它可能需要 30 cmets。我在这里错过了什么?

'commenttable' 的 PHPMyAdmin 设置:

 SELECT *
 FROM `commenttable`
 LIMIT 0 , 30!

PHP 代码:

           <section>
                <h1 id="theme"><span class="initial">F</span>eedback</h1>
                <div id="message">
                <!--Place content here-->
                <?php
                mysql_connect("localhost","username","password");
                mysql_select_db("database");
                $name=$_POST['name'];
                $comment=$_POST['comment'];
                $submit=$_POST['submit'];

                $dbLink = mysql_connect("localhost", "username", "password");
                    mysql_query("SET character_set_client=utf8", $dbLink);
                    mysql_query("SET character_set_connection=utf8", $dbLink);

                if($submit)
                {
                    if($name&&$comment)
                    {
                        $insert=mysql_query("INSERT INTO commenttable (name,comment) VALUES ('$name','$comment') ");
                    }
                    else
                    {
                        echo "please fill out all fields";
                    }
                }
                ?>

                <div id="feedback_form">
                    <form action="feedbacktest.php" method="POST">
                        <table>
                        <tr><td>Name: <input type="text" name="name"/></td></tr>
                        <tr><td colspan="2">Comment: </td></tr>
                        <tr><td colspan="5"><textarea name="comment" rows="6" cols="30"></textarea></td></tr>
                        <tr><td colspan="2"><input type="submit" name="submit" value="Comment" style="cursor:pointer;"></td></tr>
                        </table>
                    </form>
                </div>

                <?php
                $dbLink = mysql_connect("localhost", "username", "password");
                    mysql_query("SET character_set_results=utf8", $dbLink);
                    mb_language('uni');
                    mb_internal_encoding('UTF-8');

                $getquery=mysql_query("SELECT * FROM commenttable ORDER BY id DESC");
                while($rows=mysql_fetch_assoc($getquery))
                {
                    $id=$rows['id'];
                    $name=$rows['name'];
                    $comment=$rows['comment'];
                    echo $name . '<br/>' . '<br/>' . $comment . '<br/>' . '<br/>' . '<hr size="1"/>';
                }
                ?>
            </div>
        </section> 

【问题讨论】:

  • 由于您似乎不太了解 PHPMyAdmin 的工作原理,所以我要问一个愚蠢的问题,您是否在添加新评论后刷新了查询?

标签: php mysql sql html phpmyadmin


【解决方案1】:

您需要将属性auto_increment 添加到字段id。否则,所有条目都将获得相同的标识符,并且您的脚本不会像您使用的那样从数据库中检索它

$getquery=mysql_query("SELECT * FROM commenttable ORDER BY id DESC");

退房

$getquery=mysql_query("SELECT * FROM commenttable");

你的新条目出现了吗?

关于LIMIT 0 , 30的问题

这部分查询只用于限制返回的行数为30。这与你的数据库可以存储多少条目无关。如需更多信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/select.html

【讨论】:

  • 我明白了!谢谢。我将属性修改为 auto_increment,它现在可以工作了。
  • 很高兴我能帮上忙。为了帮助其他人,您可以接受我的回答,将此问题标记为“已解决”。
猜你喜欢
  • 2022-11-18
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
相关资源
最近更新 更多