Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP选择转换为JavaScript数组进行操作_Javascript_Php_Arrays - Fatal编程技术网

将PHP选择转换为JavaScript数组进行操作

将PHP选择转换为JavaScript数组进行操作,javascript,php,arrays,Javascript,Php,Arrays,我想将这些图像从我的服务器添加到JavaScript数组中,这样我就可以使用它们了 下面的示例应提醒文件夹中的图像数。目前,有两个图像在那里,这个脚本提醒我两次说,我已经知道数组的长度是一。显然,我想要一个警报说两个 <?php include("mysqlconnect.php"); $select_query = "SELECT `ImagesPath` FROM `offerstbl` ORDER by `ImagesId` DESC"; $sql = my

我想将这些图像从我的服务器添加到JavaScript数组中,这样我就可以使用它们了

下面的示例应提醒文件夹中的图像数。目前,有两个图像在那里,这个脚本提醒我两次说,我已经知道数组的长度是一。显然,我想要一个警报说两个

<?php
    include("mysqlconnect.php");

    $select_query = "SELECT `ImagesPath` FROM `offerstbl` ORDER by `ImagesId` DESC";
    $sql = mysql_query($select_query) or die(mysql_error());   
    while($row = mysql_fetch_array($sql,MYSQL_BOTH)) {
?>

<script> var images = new Array("<?php echo $row["ImagesPath"]; ?>"); 
alert(images.length);

var images=新数组(“”);
警报(图像.长度);

正如scrowler在评论中指出的,使用
json\u encode()
。你现在所做的将杀死你编写的任何代码。我可以保证。(如果您不相信我的话,请询问堆栈溢出上的任何人。)

可以这样做:

$data = array();
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){
    $data[] = $row['ImagesPath'];
}
{'path/to/image', 'path/to/another/image'}
<?php
//....all the query stuff etc...
$data = array();
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){
    $data[] = $row['ImagesPath'];
}

$images = json_encode($data);
?>

<script>var images = <?php echo $images; ?></script>
查看如何将图像添加到上面的
$data
数组中?现在我们可以简单地将其添加到循环下:

$images = json_encode($data);
这会让你看起来像这样:

$data = array();
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){
    $data[] = $row['ImagesPath'];
}
{'path/to/image', 'path/to/another/image'}
<?php
//....all the query stuff etc...
$data = array();
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){
    $data[] = $row['ImagesPath'];
}

$images = json_encode($data);
?>

<script>var images = <?php echo $images; ?></script>
我强烈建议您不要像现在这样做,但要回答您问题的范围,您的最终代码如下所示:

$data = array();
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){
    $data[] = $row['ImagesPath'];
}
{'path/to/image', 'path/to/another/image'}
<?php
//....all the query stuff etc...
$data = array();
while($row = mysql_fetch_array($sql,MYSQL_BOTH)){
    $data[] = $row['ImagesPath'];
}

$images = json_encode($data);
?>

<script>var images = <?php echo $images; ?></script>

变量图像=


此代码将使用for循环将所有图像路径推送到图像数组中。它将刷新更多图像的长代码,但工作正常。如果你不想刷新一个长js文件,那么告诉我,我也会这么做

完全json_encode()。不要像你在那里做的那样把php和javascript混合在一起。它很便宜,而且会让你大吃一惊。我已经尝试过json encode()了,但我发现很难将我的代码整合到示例中。“目前,其中有两个图像,这个脚本两次提醒我,数组的长度是1。”—这是因为你要为每个记录输出一次JavaScript代码,数组每次只包含一个记录的映像路径。首先将值放入(PHP)数组中,然后对其使用json_编码:
var images=请停止使用mysql扩展,它已被弃用并将被删除。迁移到mysqli或PDO