我有一個查詢,我真的很感謝任何幫助。循環遍歷一個查詢的結果並將它們插入另一個查詢,加入聯合所有結果的第二個查詢
我有第一個查詢,選擇一個表中的job_types(26結果)。這些job_type名稱都與一個與其名稱相同的單獨表格有關。然後,我需要使用此結果(job_types列表)在所有相關的job_type表上調用一個新的查詢 - 循環遍歷第一個查詢的結果,將它們插入到第二個查詢中,然後我嘗試UNION結果並將它們輸出到表格中。但我堅持循環。到目前爲止我的代碼是:
$sql = "";
$union = "";
$tables = [];
$q = "SELECT DISTINCT job_table
FROM job_type
WHERE job_type NOT IN (26, 28) AND status = 1";
$tables[] = $conn->query($q);
print_r($tables);
/*while ($table = $tables->fetch_assoc()) {
$sql .= "SELECT
DATE(call_time) AS `date`,
COUNT(*) AS `sub_total`,
'$table->job_table' AS `table`
FROM '$table->job_table'
WHERE table.show IS TRUE AND call_time BETWEEN $startDate AND $endDate
AND table.processing_complete IS TRUE
GROUP BY `date`";
}*/
foreach ($tables AS $table) {
$sql .= $union . "SELECT
DATE(call_time) AS `date`,
COUNT(*) AS `sub_total`,
'$table' AS `table`
FROM '$table'
WHERE table.show IS TRUE AND call_time BETWEEN $startDate AND $endDate
AND table.processing_complete IS TRUE
GROUP BY `date`";
$union = " UNION ";
}
我知道我需要把在一個循環,以工會的表和運行通過他們,直到最後一個,所以while循環的東西,我是想出來,如是FOREACH循環。我只是在學習(慢)PHP,並會非常感謝任何幫助。
編輯 我已經添加了下面的代碼到最後嘗試讓它顯示。
$results = $conn->query($sql);
}
while ($row = $results->fetch_assoc()) {
echo"<TABLE><TR><TD>". $row["date"]. "</TD>";
echo"<TD>". $row["sub_total"]. "</TD>";
echo"<TD>". $row["table"] . "</TD></TR>";
}
但是,後來我跑了,我返回下面的錯誤 - 「捕致命錯誤:類mysqli_result的對象無法轉換爲字符串」 AS table
行上「$表」。
* 「但我堅持!」 *:請描述你所遇到的問題。被卡住不是很有啓發性。 – trincot
我已經添加上面的編輯,爲一般道歉。我不確定關於我需要的循環@trincot – seb