1

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

谢谢!

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> 
        ';

}

}

4

2 回答 2

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
     }
?>
于 2012-10-10T18:04:03.447 回答
0

结果现在是两个输入表单(一种改进),但仍然没有显示数据库中两行的文本。我得到的不是行文本,而是文本应该位于的 > 字符。这是更新的代码,适应了@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> 
        ';
    }
}
于 2012-10-10T18:40:19.697 回答