Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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
使用json将php变量发送到javascript_Javascript_Php_Mysql_Json_Foreach - Fatal编程技术网

使用json将php变量发送到javascript

使用json将php变量发送到javascript,javascript,php,mysql,json,foreach,Javascript,Php,Mysql,Json,Foreach,我在PHP中执行了一个mySql存储过程。然后使用foreach循环从数据库中表的列中获取名称以及part1和part2。arrVal是它们最初存储的内容,在执行存储过程后,我会在其中获取这些内容 foreach ($arrVal as $key => $val) { $P1= $val['partOne']; $P2= $val['partTwo']; $nme= $val['name']; }//end foreach for

我在PHP中执行了一个mySql存储过程。然后使用foreach循环从数据库中表的列中获取名称以及part1和part2。arrVal是它们最初存储的内容,在执行存储过程后,我会在其中获取这些内容

foreach ($arrVal as $key => $val) {
        $P1= $val['partOne'];
        $P2= $val['partTwo'];
        $nme= $val['name'];

    }//end foreach for task
    json_encode($nme);
    json_encode($P1);
    json_encode($P2");
例如,如果我们去

echo "<br/>$nme"
每个名字

在我们的Javascript中

window.onload = function addCalanderEvent( title, start, end)
{
 var eventName = <?php echo json_encode($nme) ?>;
 var eventstart = <?php echo json_encode($P1) ?>;
 var eventEnd = <?php echo json_encode($P2) ?>;

 alert("the event name is " +eventName +" start " + eventstart + " end " + eventEnd);}
window.onload=函数addcAnderEvent(标题、开始、结束)
{
var eventName=;
var eventstart=;
var eventEnd=;
警报(“事件名称为“+eventName+”开始“+eventstart+”结束“+eventEnd”);}
然后我将这些变量用于一个函数,但我能得到的只是数据库中最底层的一个(foreach中的最后一个)示例,从上面的结果中,我得到了“cool”,其他变量都被忽略了
提前感谢所有帮助

您应该对值列表进行编码并将其传递给javascript

$jsData = [];
foreach ($arrVal as $key => $val) {
  $jsData[] = [
    "eventName" => $val["eventName"],
    "eventstart" => $val["eventstart"],
    "eventEnd" => $val["eventEnd"]
  ];
}
您应该从“$arrVal”创建一个新数组,并仅将要发送到Javascript的值放入其中

$jsData = [];
foreach ($arrVal as $key => $val) {
  $jsData[] = [
    "eventName" => $val["eventName"],
    "eventstart" => $val["eventstart"],
    "eventEnd" => $val["eventEnd"]
  ];
}
然后,在Javascript中,您可以执行以下操作:

window.onload = function addCalanderEvent( title, start, end) {
  var data = <?php echo json_encode($jsData) ?>;

  //you now have to iterate through the data array and do something with the values
  for (var i = 0; i < data.length; i++) {
     alert("the event name is " +data[i].eventName +" start " + data[i].eventstart + " end " + data[i].eventEnd);}
  }
};
window.onload=函数addcAnderEvent(标题、开始、结束){
var数据=;
//您现在必须遍历数据数组,并对这些值进行处理
对于(变量i=0;i
php中不断出现错误注意:C:\wamp\WWW中的未定义索引:eventName您必须将php中的这些变量设置为它们在“arrVal”对象中的任何对应关系。你能粘贴一个“arrVal”外观的例子吗?那么eventName、eventStart和eventEnd的值应该从哪里获得呢?是的,我的通信命名错误,将eventName更改为name。没有错误,但它不会发出任何警报。您可以在$jsData对象上用PHP设置一个var_转储吗?另外,您可以在Javascript console.log(data)中执行以下操作:;数据是来自PHP的对象。只是想知道PHP和JS中是否都有正确的数据。什么是console.log?把它放进去,什么也没发生。Var_dump拥有我想要的数组