簡體   English   中英

打印數據庫中存儲的每個評論

[英]Print every review stored in the database

我正在建立機構審查系統,並且剛剛完成將審查插入數據庫中。 但是我正在解決如何向用戶顯示與特定機構有關的所有評論。 以下是我的代碼,用於檢索評論信息以及離開評論的人的姓名:

$get_review_query = "SELECT * FROM reviews WHERE institute_id = {$id}";
$result = mysqli_query($connection, $get_review_query);
if(!$result) {
    die("Database query failed.");
}                                                     
$count = mysqli_num_rows($result);
if($count == 0) {
    $output = "There're no reviews for this institute.";
} else {
    while($row = mysqli_fetch_assoc($result)) {
        $review_contents = $row['content'];
        $institute_id = $row['institute_id'];
        $student_id = $row['student_id'];
        $date = $row['created_on'];

        $query_student_name = "SELECT f_name, l_name FROM students 
                               WHERE student_id = {$student_id}";
        $result1 = mysqli_query($connection, $query_student_name);
        if(!$result1) {
             die("Database query failed.");
        } else {
            $row1 = mysqli_fetch_assoc($result1);
            $student_f_name = $row1['f_name'];
            $student_l_name = $row1['l_name'];
        }
    }
}

現在,我想在頁面下方某處顯示評論:

<!-- display reviews -->
      <fieldset>
        <legend>Reviews for <?php echo $name; ?></legend>
          <br>
          <?php
          foreach($row as $value) {
              ?>
          <legend><?php echo $student_f_name . " ". $student_l_name; ?> said:</legend>
            <div id = "items" class="">
                <?php echo $review_contents; ?>
            </div>
          <br>
            <div>
                <?php echo $date; ?>
            </div>
          <?php } ?>
        </fieldset>

上面的foreach循環不起作用。 它可能會創建一個無限循環。 我已經嘗試過使用$ count作為最大計數器的for循環,但這也不起作用。 請提出一個for循環,以打印數據庫中的所有評論。

嘗試這個

$get_review_query = "SELECT * FROM reviews WHERE institute_id = {$id}";
$result = mysqli_query($connection, $get_review_query);
if(!$result) {
    die("Database query failed.");
}                                                     

    $reviews = array();
    $count = mysqli_num_rows($result);
    if($count == 0) {
        $output = "There're no reviews for this institute.";
    } else {
        while($row = mysqli_fetch_assoc($result)) {
            $query_student_name = "SELECT f_name, l_name FROM students 
                                   WHERE student_id = {$student_id}";
            $result1 = mysqli_query($connection, $query_student_name);
            if(!$result1) {
                 die("Database query failed.");
            } else {
                $row1 = mysqli_fetch_assoc($result1);
                $row['f_name'] = $row1['f_name'];
                $row['l_name'] = $row1['l_name'];
            }

            $reviews[] = $row;
        }
    }

    if( $reviews ){
     ?>
       <fieldset>
            <legend>Reviews for <?php echo $name; ?></legend>
              <br>
              <?php
              foreach($reviews as $review) {
                  ?>
              <legend><?php echo $review['f_name'] . " ". $review['l_name']; ?> said:</legend>
                <div id = "items" class="">
                    <?php echo $review['content']; ?>
                </div>
              <br>
                <div>
                    <?php echo $review['created_on']; ?>
                </div>
              <?php } ?>
            </fieldset>
     <?php  
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM