我有一個javascript數組,看起來像這樣,21,22,22,22,23,23,23,26,27,27等我需要將它放入一個php數組中,然後使用該數組來查詢mysql以搜索數組中的值。傳遞Javascript數組到PHP數組使用JSON,使用PHP數組來查詢mysql
我在這裏是我的代碼,我用它來重新加載一個元素與發佈轉換數組。
$(function() {
$("#deckRefresh").click(function(evt) {
var teset = convertArray(deck_array);
$("#deckTest").load("core/m.deckcontainer.php?cid="+teset)
evt.preventDefault();
})
})
這裏是我打電話給數組轉換成JavaScript函數:
function convertArray(array){
var teset = JSON.stringify(array);
return teset;
}
轉換可能是這個樣子的數組:22,22,22,22,23,23,23 ,23,26,27,28,28 返回的JSON $ _post值爲:[22,22,22,22,23,23,23,23,26,27,28,28] 搜索堆棧後回答這是我的數組和查詢MySQL代碼看起來像:
if($_GET){
$queryTest = str_replace("[","",$_GET['cid']);
$queryTest1 = str_replace("]","",$queryTest);
$esplodCId = explode(',', $queryTest1);
foreach ($esplodCId as $key => $var){
$esplodCId[$key] = (int)$var;
}
$sql = mysql_query("SELECT * FROM cards WHERE cid IN($esplodCId)");
while ($row = mysql_fetch_assoc($sql)){
echo "{$row['img']}<br/>";
}
}
我現在想要看到的僅僅是來自mysql的img信息,當我運行這個時,我得到了,「警告:mysql_fetch_assoc()期望參數1是資源,布爾在給出....」我不能對於我來說,弄清楚如何將這個數組轉換成我可以使用的格式,請大家幫忙!
'deck_array.toString();'而不是'convertArray()' – sbeliv01
您正在使用PHP處理json。 **別**。有[json_decode()](http://php.net/json_decode)爲你做到這一點。 –
@Marc B - 它看起來並不像JSON首先被傳遞。只是'cid'參數的逗號分隔值。 – sbeliv01