我想從使用slim框架的mysql數據庫檢索特定的一組數據。我的sql查詢不會讓我嚴格想要什麼。任何幫助將非常感激!沒有從SQL返回想要的結果
查詢:
function getModules($matric)
{
$sql = "SELECT DISTINCT students.module1,time_tables.days, time_tables.time FROM `students`,`time_tables`
WHERE students.matricNos = '$matric' AND students.module1 = time_tables.module_tag
UNION
SELECT DISTINCT students.module2,time_tables.days, time_tables.time FROM `students`,`time_tables`
WHERE students.matricNos = '$matric' AND students.module2 = time_tables.module_tag
UNION
SELECT DISTINCT students.module3,time_tables.days, time_tables.time FROM `students`,`time_tables`
WHERE students.matricNos = '$matric' AND students.module3 = time_tables.module_tag";
try
{
$db = getConnection();
$stmt = $db-> query($sql);
$result = $stmt-> fetchAll(PDO::FETCH_OBJ);
$db=null;
echo json_encode($result);
}
catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
}
什麼,我從查詢找回
[{"module1":"ACC07103","days":"Thursday","time":"09:00-10:00"},{"module1":"CLP07112","days":"Tuesday","time":"14:00-15:00"},{"module1":"BMS08100","days":"Thursday","time":"10:00-11:00"}]
什麼在這裏發生的是它給了我正確的價值觀,但它給我像模塊1相同的標籤,當它顯示了另一個模塊,它應該是module2,但它顯示模塊1以及模塊3相同。
我想要的結果;
[{"module1":"ACC07103","days":"Thursday","time":"09:00-10:00"},{"module2":"CLP07112","days":"Tuesday","time":"14:00-15:00"},{"module3":"BMS08100","days":"Thursday","time":"10:00-11:00"}]
我的數據庫
列標記像模塊1,模塊2,單詞數,但我不明白爲什麼它給我正確的價值觀,但相同的名稱爲不同的列..
謝謝..
只是爲了詳細說明這一點。我懷疑你能夠得到你想要的結果,因爲改變JSON輸出中的關鍵值會適得其反。您是否可以添加一個新的鍵值對,您只需在SELECT查詢中填充一個字符串,例如'SELECT DISTINCT'module3'as newKey,students.module3 as module;' –