用mysql结果

时间:2017-07-21 05:22:00

标签: php multidimensional-array

我有这样的查询结果

查询结果表

enter image description here

我需要将此数据显示为html表视图,如

HTMLTABLE

enter image description here

所以如何将此结果数组变量转换为此类PHP数组变量,以便我可以循环该数组变量并根据附加的html表视图显示结果

请帮忙。感谢。

1 个答案:

答案 0 :(得分:1)

一种方法是你可以在这样的循环中使用mysql_fetch_assoc()函数:

// The array which will store all questions
$questions = array();

while ($row = mysqli_fetch_assoc($result)) {

   // Put in the array questions an array per question using mysql fieldsnames

   // if a question with main_question_id=2 exists 
   if (!isset($questions[$row['main_question_id'])) {

      //build your question and put it in your array
      $questions[$row['main_question_id']] = array(
         'question_num' => $row['main_question_number'],
         'description' => $row['descritption'],
         'obtained_mark' => $row['obtained_mark'],
         // etc ...
      );
   }
}

// Displays description for question 2 for example :
echo $questions[2]['description'];

然后你可以构建你的html(在第一次循环中也可行)

// Builds head of html table
$html = '<table><tr><th>Question Number</th><th>Desc.</th><th>Mark</th></tr>';

// Builds html content table with another loop
foreach ($questions as $question){
    $html .= '<tr>';
    $html .= '<td>'.$question["main_number_question"].'</td>';
    $html .= '<td>'.$question["description"].'</td>';
    $html .= '<td>'.$question["obtained_mark"].'</td>';
    $html .= '</tr>';
}

// build the bottom of table
$html .= '</table>;


// Displays all table
echo $html;

别忘了查看她背后的文档和评论: http://php.net/mysqli_fetch_assoc

您也可以使用 http://php.net/mysqli_fetch_array

干杯,