【问题标题】:Store database values in javascript array将数据库值存储在 javascript 数组中
【发布时间】:2015-06-18 07:33:58
【问题描述】:

我正在制作一种预订页面,您可以在其中预订特定日期的位置,所有日期都将存储在每个位置的数据库中。 但我想从数据库中获取所有日期并将它们存储在一个 javascript 数组中,这样我就可以从页面上的 datepicker 中禁用这些日期。 我知道如何使用 php 和 mysql 选择日期,但我不知道如何将数据存储在 javascript 数组中。

这是日期选择器的js代码:

var disableddates = ["20-05-2015", "12-11-2014", "21-05-2015", "12-20-2014"];

function DisableSpecificDates(date) {
    var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
    return [disableddates.indexOf(string) == -1];
}
$(function() {
    $("#date1").datepicker({
    beforeShowDay: DisableSpecificDates
    });
}); 

我希望数组保存数据库中的日期。

【问题讨论】:

  • 进行 ajax 调用以从数据库中获取数据,然后将其推送到数组 disableddates。

标签: javascript php jquery html arrays


【解决方案1】:

你需要从数据库中获取数据并json_encode他们

var disableddates = <?php echo json_encode($response)?> ;

【讨论】:

    【解决方案2】:

    您不能直接在 PHP 脚本中编写 JS 代码。 PHP运行在服务端,JS运行在客户端。

    从 PHP 的角度来看,JS 就像 HTML。

    你能做的就是把这个输出到标签。

    类似($dates 包含禁用日期):

    function outputDatePickerScript($dates) {
        echo 'var disableddates = ["' . implode('","', $dates) . '"]';
        echo .... // Rest of the JS script
    }
    

    在 HTML 正文输出结束之前调用此函数。

    【讨论】:

      【解决方案3】:

      你有类似的选项

      1.to write jquery function in php scipt echo '<script></script' and store the date values in array by select & fetch statement e.g.
      
          /*Your select statement for dates*/
          while loop{
      
              $dates .= '"'.$row["date"].'",'
          }
          $dates      = rtrim($dates, ",");
      
          var disableddates = ['.$dates.'];
      
      2> Store db values in a hidden field on front html with an id and pass the value in javascript varaible by selecting id
      

      【讨论】:

        【解决方案4】:

        这只是你的js代码,也显示一点php。

        如果你不使用任何花哨的 ajax,你可以使用这样的东西:

        <?php 
        $dates = "";
        
        while () { //this while would be your database while
            $dates .= '"'.$row["date"].'",';
        }
        $dates      = rtrim($dates, ",");
        ?>
        var disableddates = [<?php echo $dates; ?>];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-07-10
          • 1970-01-01
          • 2018-10-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多