在 Javascript 警报框中的新行上显示 PHP 数组的每个条目

Displaying each entry of PHP array on a new line in Javascript alert box

本文关键字:数组 PHP 显示 新行 Javascript      更新时间:2023-09-26

我有一个简单的查询来从数据库中选择一些信息:

  $dep_qry = "select product_name, sum(theoretical_stock_level) as opening_stock, sum(quantity_scanned) as closing_stock, department_description, stock_item_code, custom_1 AS size, IFNULL(unit_cost_price, 0.00) AS cost_price from stocktake_products where stocktake_id = '{$stocktake_id}' AND is_deli = 0 
                         group by product_name, department_description
                         order by department_description ASC;";
    $dep_res = db::c()->query($dep_qry);

然后,我有以下代码将成本价为 0.00 的产品放入数组中。然后我检查数组中的元素数量。如果数组中包含一些信息,我希望向用户显示一个警报,告诉他哪些项目的成本价为 0。以下代码有效,但我想知道是否可以在警报框中的单独行上显示数组中的每个条目?只是为了让它更加用户友好。

while ($row1 = $dep_res->fetch(PDO::FETCH_ASSOC))
    {
        $cost_price = number_format($row1['cost_price'],2);
        $pname = $row1['product_name'];
        if ($cost_price == 0.00)
        {
            $products[$i] = $pname;
        }
        $i++;
    }
    $numOfNoCosts = count($products);
    if ($numOfNoCosts > 0)
    {
        echo "<script> alert('".json_encode($products)."') </script>";
    }

如果有更好的方法,我非常乐意接受建议!

尝试在每行上显示类似的数组值

alert(arrayname.join("'n"));

尝试像数组一样显示:

alert(JSON.stringify(your_array));

首先用 PHP 数组值准备好一个 js 变量。喜欢这个

<script type="text/javascript">
    var obj = <?php echo json_encode($Your_array); ?>;
</script>

下面是一个完整的久经考验的例子

<?php $phpArray = array(
          0 => "Mon", 
          1 => "Tue",  
          2 => "Wed", 
          3 => "Thu",
          4 => "Fri", 
          5 => "Sat",
          6 => "Sun",
    )
?>

<script type="text/javascript">
    var jArray= <?php echo json_encode($phpArray ); ?>;
   alert(jArray.join("'n"));
 </script>