在php中我有这个:
'posts_per_page' => 6,
我需要能够从jquery生成该数字6
。 LIterally根据屏幕分辨率,我需要生成我想要显示的帖子数量。我知道我可以使用jquery检查屏幕分辨率和大小但是如何输出变量让我们说<?php $postNumber ?>
来自jquery变量?所以我可以
'posts_per_page' => <?php echo $postNumber ?>,
答案 0 :(得分:4)
您需要使用jQuery获取屏幕分辨率并将其传递给PHP吗?如果是,您将需要使用Ajax。 jQuery示例:
$.ajax({
type: 'POST',
url: 'page.php',
data: {screenSize: 6},
}).done(function(data){
}).fail(function(error){
});
答案 1 :(得分:3)
你不能那样。当在服务器机器上执行php时,Javascript在客户端浏览器上执行。要在客户端和服务器之间进行通信,您应该发出ajax请求。
答案 2 :(得分: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调用将是相同的,但它将在此代码块之后。
答案 3 :(得分:1)
根据您的说法,您的第一个代码块是 PHP。因此,不需要使用PHP嵌入标记<?php
切换到PHP模式,也不需要回显(如第二个代码块中所示)。
如果$postNumber
包含您想要的值
'posts_per_page' => 6,
简单地变成
'posts_per_page' => $postNumber,
答案 4 :(得分:0)
您可以使用php编写包含所需变量的javascript。