[英]Adding multiple returned MySQL rows to the same array key element in PHP
我有一個帶有一些“加熱配置文件”的MySQL數據庫,每個配置文件都在自己的表中,並且有一個單獨的表來跟蹤每個配置文件的名稱。
因為我的jQuery Mobile / Cordova HTML 5頁面是根據配置文件的數量及其要顯示給用戶的內容動態加載的,所以我避免了名稱等的任何硬編碼。這是PHP:
$con = mysqli_connect($server, $username, $password);
mysqli_select_db($con, $database);
$result = mysqli_query($con, "SELECT * FROM PROFILENAMES")
or die ("Query error: " . mysqli_error($con));
while($row = mysqli_fetch_assoc($result)) {
$string = $row['profileNames'];
$data[] = $string;
$string = str_replace(' ', '', $string);
$profileNames[] = $string;
}
foreach($profileNames as $secondstring){
$secondstring;
$secondresult = mysqli_query($con, "SELECT * FROM $secondstring ORDER BY startTime ASC")
or die ("Query error: " . mysqli_error($con));
while($secondrow = mysqli_fetch_assoc($secondresult)) {
$data[$secondstring] = $secondrow;
}
}
mysqli_close($con);
echo $_REQUEST['jsoncallback'] . '(' . json_encode($data) . ');';
理論上,如果概要文件“ SELECT *”中有多於一行,並且“ while”循環應將每行附加到鍵$ secondstring處的數組$ data中。 但是,無論我嘗試什么,都只將一行返回到JSON中,我已經執行了echo等,以確保正在檢索數據,並且$ secondrow包含了所有行,但是在將第一行追加到數組似乎停止了。
該代碼的當前輸出為:
({"0":"Weekday","1":"Weekend","2":"Different","Weekday":{"setTemp":"26","startTime":"17:00:00","endTime":"19:00:00"},"Weekend":{"setTemp":"900","startTime":"12:00:00","endTime":"13:00:00"},"Different":{"setTemp":"666","startTime":"23:00:00","endTime":"02:00:00"}});
有什么辦法可以強制將其他行附加到該特定數組鍵?
在每行中使用遞增或唯一鍵值會使在另一側用javascript解析此數據並將其插入HTML元素變得更加困難。
任何幫助,將不勝感激! 很抱歉格式化,不確定在那里發生了什么。
只需構建一個數組:
while($secondrow = mysqli_fetch_assoc($secondresult)) {
$data[$secondstring][] = $secondrow;
^^---- add this
}
每個新的“第二行”將被壓入該子數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.