【问题标题】:using json to to send php vars to javascript使用 json 将 php vars 发送到 javascript
【发布时间】:2015-05-01 10:04:20
【问题描述】:

我在 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 php mysql json foreach


    【解决方案1】:

    您应该编码一个值列表并将其传递给您的 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);}
      }
    };
    

    【讨论】:

    • 我在 php 中不断收到错误通知:未定义索引:C:\wamp\www 中的事件名称
    • 您必须在 PHP 中将这些变量设置为它们在“arrVal”对象中的任何对应关系。你能贴一个“arrVal”看起来如何的例子吗? eventName、eventStart 和 eventEnd 应该从哪里获取它们的值?
    • 是的,我的通信命名错误,将 eventName 更改为名称。没有错误,但它也没有提醒任何东西
    • 你能在 PHP 中的 $jsData 对象上放置一个 var_dump 吗?另外,你可以在 Javascript console.log(data); 中做吗?数据是来自 PHP 的对象。只是好奇你是否在 PHP 和 JS 中都有正确的数据。
    • 什么是console.log?把它放进去,什么也没有发生。 Var_dump 有我想要的数组
    猜你喜欢
    • 1970-01-01
    • 2011-03-13
    • 2015-07-07
    • 2014-07-08
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多