解決,見我最後的答案後完整的細節是什麼工作,我如何發佈陣列到PHP
*原來的問題和下面編輯:
尋找一種方式來設置多個SQL項目由張貼的數組。
我很確定我使用的是php5。
這是我如何設置一個單一的一個,但我不知道很多關於PHP中數組
mysql_query
("
UPDATE comics
SET xml = UpdateXML(xml,'comic/pageNumber', '<pageNumber>'.$pageNumber.'</pageNumber>')
WHERE id = $id
") or die(Err(mysql_error()));
我想從閃存張貼idArray和newPageNumberArray
,其中有相聲idArray [0]的id會將其pageNumber設置爲newPageNumberArray [0],依此類推。
這些陣列的長度彼此相等。但可以是任意長度,具體取決於管理工具中更改的頁碼數量。
現在我可以對每個項目做一個單獨的php請求,但我認爲將它們全部發送到一個php請求會更清晰。
* 編輯
感謝帕特里克我感覺更接近...但我仍然沒有完全正確。
閃光發送這些陣列
idArr:34,24
pageNumArr:1,2
在PHP我有此功能
function changePageNumbers($con, $idArr, $pageNumArr){
selectDataBase($con);
echo '&startForLoop=true';
for($i=0;$i<count($idArr);$i++)
{
$thisPageNum = mysql_real_escape_string($pageNumArr[$i]);
$thisId = mysql_real_escape_string($idArr[$i]);
echo '&thisPageNum='.$thisPageNum;
echo '&thisId='.$thisId;
mysql_query
("
UPDATE comics
SET xml = UpdateXML(xml,'comic/pageNumber', '<pageNumber>".$thisPageNum."</pageNumber>')
WHERE `id` = ".$thisId."
LIMIT 1;
") or die(Err(mysql_error()));
echo '&querySent=true';
}
echo '&endForLoop=true';
}
它返回這個
thisPageNum = 2 & endForLoop = true & thisId = 2 & startForLoop =真& querySent =真
這似乎亂序(也許這是正常的嗎?)
更重要的是,它只是列出thisPageNum和thisId一次,當陣列具有2
並且更重要的是它列出thisId = 2所發送的ID是34和24
* EDIT2 當我在html中運行它,並手動設置PHP中的數組它的工作原理
$idArr = array(34,24);
$pageNumArr = array(2, 1);
這意味着從閃存傳遞我的數組通過$ _POST在某種程度上失敗。我確定他們在Flash中構造良好。也許在通過$ _POST的路上,它們變成了逗號分隔值。
運行更多測試。
創建一個頁面,它可以檢查所有關於php安裝的信息:`<?php phpinfo(); ?> – 2011-02-09 17:29:41
哦是的,PHP版本5.2.15,謝謝 – SketchBookGames 2011-02-09 17:44:06
你試圖在提交後用最新編輯的`echo`重定向瀏覽器嗎?您是否嘗試過發佈兩個數組的`print_r()`,以確保獲得兩個長度相等且不是多維數組的單獨數組? – Patrick 2011-02-10 00:28:57