-2

新手问题,如果有一个明显的答案,请原谅(我已经尝试了我能想到的一切)。

我有一个像这样的javascript变量设置:

var imageURL = <?php echo json_encode($imageRows[0]['URL_Path']); ?>;

其中 $imageRows[0] 可以是从 0 到任何值的整数。

我还有另一个像这样的变量:

var count = 15

我需要将计数传递给 imageURL 变量...可以这样做吗?

我猜想是这样的:

 var imageURL = <?php echo json_encode($imageRows['count']['URL_Path']); ?>;

 var imageURL = <?php echo json_encode($imageRows[(count)]['URL_Path']); ?>;

等,但没有任何工作。

谢谢

编辑:由迈克布兰特回答。

谢谢

4

4 回答 4

2

我现在更好地理解了你的问题。看起来您正试图让 PHP 响应 Javascript 中的变量并回显输出。您可以将计数放入查询字符串(http://server/yourpage.php?count=15)中,然后将count变量放入您的 php 中,如下所示:$_GET['count']

编辑:从您的评论看来,您实际上确实将此计数作为 PHP 变量(从 MYSQL 返回)。您的困难可能来自 PHP 对字符串插值的解释。它将[]after$imageRows视为 PHP 表达式的一部分,您似乎想将 count 作为 javascript 变量传递。$imageRows[$count]如果你已经有一个$countPHP 变量,你可以这样做。如果您必须将其作为 javascript 变量,您可以执行var count = <?php echo $count?>;然后回显 all 的 JSON {$imageRows},在 javascript 中使用count.

(以前:为什么你不能只使用$count?)

于 2012-12-27T23:54:22.537 回答
1

不是您考虑的方式,但您始终可以在页面加载时执行 AJAX 请求,这将允许您将两个变量作为标准请求参数传递给 PHP(或任何 Web 服务器)。

以jQuery #ajax为例。

$.ajax({
  url: 'example.php',
  data: {
    count: count
  },
  success: function(data) {
    // Do something with the data
  }
});

然而,上面是一个非常粗略的例子。

于 2012-12-27T23:55:28.697 回答
1

你为什么不只是json_encode()整个$imageRows变量。然后你可以在 javascript 中免费访问它。像这样:

var image_urls = <?php echo json_encode($imageRows); ?>;
var count = 15;
var the_url_you_want = image_urls[count]['URL_PATH'];
于 2012-12-28T00:02:23.350 回答
0

(编辑是因为您更改了问题以便我更好地理解它)

PHP 将无法在浏览器端读取 JavaScript 变量的值,您必须将其作为 POST 变量或 cookie 传递给页面。

于 2012-12-27T23:54:32.317 回答