1

テーブルの各行を調査の一部として表示しようとしています。次のコードは、テーブルの最初の行のみを返します (したがって、ユーザーは 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を使用してそれほどエコーする必要はありません...

HTML用のcuzではなく、PHPで//または/* */コメントする必要があります<!---->

第二にあなたのコードに来る。

なぜ使用しているのですか?

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

結果は 2 つの入力フォーム (改善) になりましたが、データベースからの 2 つの行のテキストはまだ表示されません。行テキストの代わりに、テキストがあるべき場所に > 文字を取得します。これは、@ 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 に答える