【问题标题】:PHP as Javascript array element [duplicate]PHP作为Javascript数组元素[重复]
【发布时间】:2013-08-05 22:48:27
【问题描述】:
<script type="text/javascript">
var category = new Array("category1", "category2");
</script>

我的问题是,我有这个 PHP 查询:

<?php $query = mysql_query("SELECT category FROM table ORDER BY category DESC") or die(mysql_error());
while($sql = mysql_fetch_assoc($query))
{
echo $sql['category'];
}
?>

如何添加 $sql['category'] 作为 javascript "category" 的参数?

【问题讨论】:

  • 是一类还是多类?
  • 请注意mysql_xxx() 函数已被弃用并且不鼓励使用。您应该考虑切换到更现代的 API,例如 PDO 库。

标签: php javascript mysql


【解决方案1】:
<?php $query = mysql_query("SELECT category FROM table ORDER BY category DESC") or die(mysql_error());

$categories=array();
while($sql = mysql_fetch_assoc($query))
{
$categories[]= $sql['category'];
}

echo json_encode($categories);
?>

【讨论】:

    【解决方案2】:

    如果只有一个:

    <script type="text/javascript">
    var category = new Array("category1", "category2", "<?php echo $category; ?>");
    </script>
    

    其他(虽然它也只适用于一个):

    <?php $query = mysql_query("SELECT category FROM table ORDER BY category DESC") or die(mysql_error());
    $categories = array();
    while($sql = mysql_fetch_assoc($query))
    {
        $categories[] = $sql['category'];
    }
    ?>
    <script type="text/javascript">
        var categories = new Array("<?php echo implode('","',$categories); ?>");
    </script>
    

    【讨论】:

      【解决方案3】:

      有很多方法可以做到这一点。一个例子可以是:

      <script type="text/javascript">
          var category = new Array(
              <?php
                  while($sql = mysql_fetch_assoc($query))
                  {
                      echo "'{$sql['category']}'";
                  }
              ?>
          );
      </script>
      

      【讨论】:

        猜你喜欢
        • 2011-06-22
        • 2018-08-27
        • 2018-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多