使用json将phpvars发送到javascript

using json to to send php vars to javascript

本文关键字:javascript phpvars json 使用      更新时间:2024-07-01

我正在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"

我们的结果就像

wow
new
cool

对于每个名称

在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);}

然后,我将这些变量用于一个函数,但我所能得到的只是数据库库中最下面的一个(从foreach开始的最后一个)。例如,从上面的结果来看,我得到了"酷",其他的都错过了提前感谢所有帮助感谢

您应该编码一个值列表并将其传递给您的javascript。

您应该从"$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);}
  }
};