2016-07-27 10 views
1

どうしたの?ajax複数のデータ送信パラメータphp

EDIT:

$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を:私はtest.phpをのfile.itにIDを表示することができません

$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"; 
     } 

私には何も与えません。しかし、doActionのパラメータは(..、id)なので送信されましたが、ajaxの呼び出しでそれを受け取ってファイルに入れません。どうして?

+0

*チェック*または*チェックされていない*として$ checkを割り当てます。そして、** test.php **において、 'if'の条件は' $ check == "false" 'です。どうして? –

+0

これを試してみてください: '$ .ajax({ タイプ:" GET "、 url:" test.php?check = "+ check +"&id = "+ id、 成功:function(msg){ alert "Data Saved:" + msg); } }); ' – Pankaj

+0

$チェックを割り当てる方法は? test.phpでエコー$チェックを書くと、私が公開していなければ(id、false)私に与えます。しかし、チェックボックスをクリックしてチェックするだけで、チェックはしますが、何も返さず、IDもステータスもチェックしません。 – 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': 'unchecked'; $ row ['publish'] == 1? '正誤';その値がチェックされていないかチェックされていないかチェックしてみてください。 htmlに渡す – rad11

+0

コードを編集しました – johnwilliam25

0

あなたの場合引数の値を以下のコードで使用しています。

OnClick="doAction('<?php echo $check;?>', '<?php echo $id;?>');" 
関連する問題