Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过jqueryajax传递PHP数组_Php_Mysql_Arrays - Fatal编程技术网

通过jqueryajax传递PHP数组

通过jqueryajax传递PHP数组,php,mysql,arrays,Php,Mysql,Arrays,我有一个php数组: $toField = explode(",", $ids); //Which looks something like '24,25,26,29' 我想通过jQuery AJAX传递这个数组,如下所示: <form id="myForm"> <input type="hidden" value="'.$toField.'"> <input type="submit" id="sendMessage" class="faceboxS

我有一个php数组:

$toField = explode(",", $ids);  //Which looks something like '24,25,26,29'
我想通过jQuery AJAX传递这个数组,如下所示:

<form id="myForm">
  <input type="hidden"  value="'.$toField.'">
  <input type="submit" id="sendMessage" class="faceboxSubmit" name="ok" value="Send Reply"/>
</form>

下面是我的jQuery:

$("#sendMessage").click(function(event){
    event.preventDefault();
    var senderID = <?php echo $usrID; ?>;
    var receiverID = $("#toField").val();
    $.ajax( 
{ 
    type: "POST", 
    url: "replyMessage.php", 
    data: "senderID=" + senderID + "&subject=" + subject + "&message=" + message + "&receiverID=" + receiverID + "&threadID=" + thread_id,
    beforeSend: function() {
        $("#sendingMessage").show();
        },
            success: function() {
        alert("Success");
        }

         });    
    }); 
$(“#发送消息”)。单击(函数(事件){
event.preventDefault();
var senderID=;
var receiverID=$(“#toField”).val();
$.ajax(
{ 
类型:“POST”,
url:“replyMessage.php”,
数据:“senderID=“+senderID+”&subject=“+subject+”&message=“+message+”&receiverID=“+receiverID+”&threadID=“+thread\u id,
beforeSend:function(){
$(“#发送消息”).show();
},
成功:函数(){
警惕(“成功”);
}
});    
}); 
如何传递数组,以便通过“replyMessage.php”页面,我可以从数组中获取每个ID,以执行以下操作:

    <?php 

    foreach ($_POST['receiverID'] as $receiverID) 
   { 
     mysql_query //etc...
   } 

您可以在php代码中获取字符串并用逗号分隔,然后循环遍历这些值


首先,您可能希望使用而不是分解来构造
$toField
变量;-)

那会给你什么

string '24,25,26,29' (length=11)
然后将其注入表单中;像这样的事情可能会:

<input type="hidden"  value="<?php echo $toField; ?>">
这将使你:

string '24' (length=2)
string '25' (length=2)
string '26' (length=2)
string '29' (length=2)

现在,您可以使用这些ID…

我要整理的事情很少:-

  • 您的toField输入元素上缺少id“toField”

  • 您应该对$id变量使用infrade(),而不是分解它

  • 另一方面,应该对ReceiveId字符串调用explode()

然后在PHP中:

foreach ( $_POST [ 'to' ] as $num )
{
 // do something with $num;
}

类似这样的选项?

只需在for-each循环中使用一些特殊字符(如&)来回显数组。 如果是多维的,则在两个循环上使用每个字符并回显它。 通过使用一些分隔符函数,在java脚本中将其改回数组

string '24' (length=2)
string '25' (length=2)
string '26' (length=2)
string '29' (length=2)
<form id='myform'>
 <input type='hidden' name='to[]' value='1' />
 <input type='hidden' name='to[]' value='2' />

 .. etc ..
 .. rest of you're form ..
</form>
data: $('#myform').serialize()
foreach ( $_POST [ 'to' ] as $num )
{
 // do something with $num;
}