所以我正在爲我的教授進行一項調查,我決定嘗試從頭開始編寫代碼。對兩個查詢使用fetch_array
我嘗試過使用JOIN
但它只是不是我想要的,因爲我基本上試圖在/ foreach循環之間尋找問題之間的選項。
當我嘗試加入時,它爲每個不同的選項提供了一個問題條目,爲每個選項重複提問。
我的數據庫已設置好,所以我在一個表中有問題(帶有問題和optiongroupid),並且我有Optiongroups(差 - 極好|不滿意 - 滿意)。
這是我目前的PHP代碼:
$qry = "SELECT QuestionName, QuestionSubtext, OptionGroupID FROM Questions;";
$qry2 = "SELECT OptionChoiceName, OptionGroupID FROM OptionGroups;";
$result = $mysqli->query($qry);
$option = $mysqli->query($qry2);
while($row = $result->fetch_array())
{
$rows[] = $row;
}
while($row = $option->fetch_array())
{
$rows2[] = $row;
}
foreach($rows as $row)
{
echo '<font size=4><strong>' . $row['QuestionSubtext'] . '. ' . $row['QuestionName'] . '</strong></font>';
echo '<div id="options">';
foreach($rows2 as $rows)
{
if ($rows['OptionGroupID'] = $row['OptionGroupID'])
{
echo '<input type="radio" name="satisfy[]" value="' . $rows['OptionChoiceName'] . '">' . $rows['OptionChoiceName'] . '</input>';
}
}
echo "</div>";
echo "<br>";
}
我在這裏的大問題,現在我得到PHP Fatal error: Call to a member function fetch_array() on a non-object in /var/www/test/alumni.php on line 66
66號線是while($row = $option->fetch_array())
人有一些輸入?我試圖做的只是不可能?還是我以一種非常糟糕的方式去解決它?
感謝
當你var_dump($選項)時,你會得到什麼?我的猜測是,你沒有得到一個有效的結果集資源,這意味着你應該檢查MySQL錯誤(你目前沒有)。 –
先執行選項查詢,將其讀入數組,然後遍歷第二個查詢的每個結果的數組 – steven