2 回答

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊
該行$loadmaps=$connectmaps->fetch(PDO::FETCH_ASSOC);
本身只會獲取結(jié)果集的第一條記錄,因此,您可能需要遍歷結(jié)果集并將每個結(jié)果附加到數(shù)組,例如
$mapMarkers = [];while($marker=$connectmaps->fetch(PDO::FETCH_ASSOC)){ array_push($mapMarkers, $marker);}$loadmap_json = json_encode($mapMarkers);
您還需要修改您的javascript以期望一組標(biāo)記,因為您當(dāng)前的代碼需要一個結(jié)果。您還應(yīng)該預(yù)料到?jīng)]有結(jié)果的可能性(空J(rèn)SON數(shù)組)。
for(var i = 0; i < phpden.length(); i++) { //Do you process of each marker here... e.g. phpden[i].longt //Or better... create a function that you call for each marker to add them}
只是最后的建議,但如上所述,您應(yīng)該考慮使用更具描述性的變量名稱。如果你在團(tuán)隊中工作,不僅僅是為了別人,而是為了你自己。縮寫和不相關(guān)的命名變量使您的代碼更難理解。當(dāng)你的復(fù)雜性增加后再回來時,你或其他人會浪費(fèi)時間去弄清楚什么是“phpden”和“boylam”。

TA貢獻(xiàn)1863條經(jīng)驗 獲得超2個贊
該fetch()方法僅獲取第一條記錄。相反,使用該fetchAll()方法。這將為您提供集合中每條記錄的多維數(shù)組。
另請注意,如果您沒有將任何變量傳遞到查詢中,PDO確實有一個query()方法; 無需準(zhǔn)備和執(zhí)行。
<?php
$connectmaps = $db->query(
"SELECT title, longt, latit, description FROM pages WHERE onmap = 1"
);
$loadmaps = $connectmaps->fetchAll(\PDO::FETCH_ASSOC);
$loadmaps_json = json_encode($loadmaps);
添加回答
舉報