mySQL查询只返回一个结果

时间:2012-10-10 17:57:23

标签: mysql database

我试图让表格中的每一行显示为调查的一部分。以下代码仅返回表中的第一行(因此用户只能看到一个问题)。我一遍又一遍,看不出我做错了什么。非常感谢任何意见。

谢谢!

function getQuestions ($dbc) <!--$dbc=database connection-->  {
$query = "SELECT * FROM survey_questions" <!--survey_questions=table-->  ;
$result = @mysqli_query ($dbc, $query);

while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC) )  {
    $body = $row ['question_body'] <!--question_body=row in table-->  ;

        echo '
            <div class="entry">  <!--user entry form-->
            <h3 class="qTitle">'.$body.'</h3>
                <form action="index.php" method="post">
                    <input type="text" name="answer" size="85" />
                    <input type="submit" value="Submit" name="submit" />
                    <input type="hidden" name="questionid" value="questionid" />
                    <input type="hidden" name="submitted" value="1" />
                </form>
            </div> 
        ';

}

}

2 个答案:

答案 0 :(得分:1)

首先,你不需要使用php回复这么多...

您必须使用///* */在PHP中发表评论,而不是<!---->这是针对HTML进行评论

其次来到你的代码..

你为什么使用?

function getQuestions($dbc) //I dont know what this is doing here, why you are wrapping your code in a function???

你可以像这样写(用echo打印你的问题):

<?php
$result = mysqli_query($dbc, "SELECT * FROM survey_questions");

while ($row = mysqli_fetch_array ($result) )  {
        ?>
   <div class="entry">  <!--user entry form-->
      <h3 class="qTitle"><?php echo $row['whatever']; ?></h3>
          <form action="index.php" method="post">
             <input type="text" name="answer" size="85" />
             <input type="submit" value="Submit" name="submit" />
             <input type="hidden" name="questionid" value="questionid" />
             <input type="hidden" name="submitted" value="1" />
          </form>
   </div> 
<?php
     }
?>

答案 1 :(得分:0)

结果现在是两种输入形式(一种改进),但仍然没有显示数据库中两行的文本。而不是行文本,我得到&gt;文本应该是的字符。这是更新的代码,适应@Mr的建议。外来:

function getQuestions($dbc) {

$result = mysqli_query($dbc, "SELECT * FROM survey_questions");

 while ($row = mysqli_fetch_array ($result) )  {
         echo ' 
              <div class="entry">  
              <h3 class="qTitle">'. $row['survey_questions'].'></h3>
                   <form action="index.php" method="post">
                        <input type="text" name="answer" size="85" >
                        <input type="submit" value="Submit" name="submit" >
                        <input type="hidden" name="questionid" value="questionid" >
                        <input type="hidden" name="submitted" value="1" >
                  </form>
             </div> 
        ';
    }
}