2016-07-27 225 views
1

這是什麼錯?ajax多個數據發送參數php

編輯:

$check = $row['publish'] == 1 ? 'true' : 'false'; 

它工作時,我想出版,但如果複選框是空的,我不能publised。

OnClick="doAction(<?php echo $check;?>, <?php echo $id;?>);" 



function doAction(check,id){ 
$.ajax({ 

     type: "GET", 
     url: "test.php", 
     data: "check=" + check + "&id=" + id, 
     success: function(msg){ 
       alert("Data Saved: " + msg); 
       } 
}); 
} 

和文件test.php的:

$id = $_GET['id']; 
     $check = $_GET['check']; 
     if ($check == "false"){ 
      $query = mysql_query("update article set publish = 1 where id =" . $id); 
      echo "Published"; 
     } 
     else { 
      $query = mysql_query("update article set publish = 0 where id =" . $id); 
      echo "Unpublished"; 
     } 

我不能顯示在test.php的file.it的ID給我什麼。但在doAction參數中是(..,id),所以它被髮送了,但是我沒有在ajax調用中接收它,然後在文件中。爲什麼?

+0

將'$ check'指定爲* checked *或* unchecked *。而且,在** test.php **中,'if'中的條件是'$ check ==「false」'。爲什麼? –

+0

試試這個:'$ .ajax({type:「GET」, url:「test.php?check =」+ check +「&id =」+ id, success:function(msg){ alert( 「Data Saved:」+ msg); } });' – Pankaj

+0

那麼如何分配$ check?在test.php中,如果我寫echo $ check,如果我沒有發佈,它會給我(id,false)。但是當我點擊複選框只發布它檢查,但doesn; t返回任何東西,既不是身份證或檢查狀態。 – johnwilliam25

回答

1

嘗試改變:

data: "check=" + check + "&id = " + id, 

要:

data: "check=" + check + "&id=" + id, 

你應該定義什麼會響應HTML,JSON等使用這個例子:

dataType: "JSON" 
+0

不起作用。我認爲問題是$ check = $ row ['publish'] == 1? 'checked':'unchecked';.它不適用於未檢查。 – johnwilliam25

+0

將您的代碼編輯爲當前版本。並嘗試更改$ row ['publish'] == 1? 'checked':'未選中';到$ row ['publish'] == 1? '真假';因爲您嘗試檢查該值未選中或未選中。傳遞到html – rad11

+0

我編輯了代碼 – johnwilliam25

0

如果您在下面的代碼中使用參數傳遞值。

OnClick="doAction('<?php echo $check;?>', '<?php echo $id;?>');"