2013-08-24 109 views
1

我有來自ajax調用的PHP變量。但是,它們在通過if語句和while循環時未定義,我該如何解決此問題。我無法得到任何工作。代碼的PHP變量在while循環中不可用

$userID = $_POST['id']; 
$clubID = $_POST['clubID']; 
$type = $_POST['type']; 
$delAtt = $_POST['delAtt']; 

休息

if($delAtt == 1) 
{ 
    $result = mysql_query('SELECT * FROM events WHERE clubID = "'.$clubID.'"'); 

    while ($row == mysql_fetch_assoc($result)) 
    { 

     $eventID = $row['eventID']; 
     echo $eventID; 

     mysql_query('DELETE FROM eventmember WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"'); 
     mysql_query('DELETE FROM eventmember2 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"'); 
     mysql_query('DELETE FROM eventmember3 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"'); 

     mysql_query('DELETE FROM attendance WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"'); 
     mysql_query('DELETE FROM attendance2 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"'); 
     mysql_query('DELETE FROM attendance3 WHERE userID = "'.$userID.'" AND eventID = "'.$eventID.'"'); 

    } 
} 

所有的變量if語句,但不能同時內部循環

+0

沒有什麼錯,你做一個ajax POST或GET?另外,檢查拼寫,區分大小寫。 – Niels

+0

你確定你正在進入if {}塊嗎?也許delAtt是2或「1」 –

+0

我將它設置爲1僅用於測試,此外,當我回顯$ clubID時,它在if {}語句內工作,但不在while循環內 – nshah

回答

2
if(isset($_POST['delAtt'])){ 
    $userID = $_POST['id']; 
    $clubID = $_POST['clubID']; 
    $type = $_POST['type']; 
    $delAtt = $_POST['delAtt']; 
} 
else{ 
    $delAtt = 0 
} 

// Rest of code 

,正確的分配裏面工作這一行:

while ($row == mysql_fetch_assoc($result)){ 
      ^
對於:
while ($row = mysql_fetch_assoc($result)){ 
+0

但是,我手動設置變量後的測試代碼,它仍然不起作用 – nshah

+0

確保'$ _POST'有任何價值。 'var_dump($ _ POST);'顯示。 – hallaji

+0

所有變量都在if語句中工作,但不在while循環中 – nshah

0

您可以始終把爲POST變量檢查象下面這樣:

if (isset($_POST["id"]) && !empty($_POST["id"])) { //TO DO } 

因此,它更容易讓你知道你的POST變量是否真正發佈到接收頁面。

以下代碼可以顯示您在POST變量數組中的含義。

print_r($_POST); 
+0

但是,我在帖子後面手動設置變量來測試代碼,它仍然不起作用 – nshah

+0

所有變量都在if語句內工作,但不在while循環內 – nshah