0

在php中我有这个:

'posts_per_page' => 6,

我需要能够6从 jquery 生成该数字。从字面上看,基于屏幕分辨率,我需要生成要显示的帖子数量。我知道我可以用 jquery 检查屏幕分辨率和大小,但是我如何输出一个变量让<?php $postNumber ?>我们说一个 jquery 变量?这样我就可以拥有

'posts_per_page' => <?php echo $postNumber ?>,
4

5 回答 5

4

您需要使用 jQuery 获取屏幕分辨率并将其传递给 PHP?如果是,您将需要使用 Ajax。jQuery 示例:

$.ajax({
    type: 'POST',
    url: 'page.php',
    data: {screenSize: 6},
}).done(function(data){

}).fail(function(error){

});
于 2013-02-14T16:33:09.767 回答
3

你不能这样。Javascript 在客户端浏览器上执行,而 php 在服务器机器上执行。要在客户端和服务器之间进行通信,您应该发出 ajax 请求。

于 2013-02-14T16:33:41.527 回答
2

您可以在 jquery 中获取屏幕分辨率,如下所示:

var browserWidth = $(window).width();
var browserHeight = $(window).height();

您可以根据分辨率设置帖子数量。假设帖子数量为6。

var noOfPosts=6;

现在,您需要使用 AJAx 将此数据发布到 php 页面,如下所示

 $.ajax({
  type: 'POST',
  url: page.php,//the page to which you want to send data
  data: postNumber=noOfPosts,
  success: function(){print("success");}
});

您可以在 php pagee 上检索此数字 6,如下所示:

  $postNumber= $_POST["postNumber"];

然后根据需要使用它。

编辑

因此,您必须保持完整,如下所示:

var browserWidth = $(window).width();
var browserHeight = $(window).height();
var noOfPosts=0;//Default no of posts you want to have
if(browserWidth<960)
{
    noOfPosts=3;
}

AJAX 调用将是相同的,但它将在此代码块之后。

于 2013-02-14T16:46:31.477 回答
1

据你说,你的第一个代码块PHP。因此,无需使用 PHP 嵌入标签 切换到 PHP 模式,也无需<?php回显(如您的第二个代码块所示)。

如果$postNumber包含您想要的值,则

'posts_per_page' => 6,

简单地变成

'posts_per_page' => $postNumber,
于 2013-02-14T16:35:50.903 回答
0

您可以使用 php 编写包含所需变量的 javascript。

于 2013-02-14T16:32:05.810 回答