我有两个问题要问:
首先,在while ($row = mysql_fetch_object($result))
我有一个对象:$row->atitle
现在通过javascript,我想在页面上打印数组当前对象的++增量。
我这样做:
hidephp = document.write("<?php echo .$row->atitle.["+inc+"];"+" ?>");
以上似乎不起作用。非常感谢帮助。
答案 0 :(得分:3)
你提供的工作很少,我真的不知道从哪里开始。我假设从你的帖子中,你没有使用任何形式的模板过程(你应该仔细研究)
您的问题实际上是您正在混合跨越客户端/服务器关系的语言。 Javascript可以处理服务器发送客户端的内容,而PHP实际上决定了首先发送的内容。如果你想让Javascript在PHP中对变量做一些事情,你应该考虑使用PHP的json_encode()
做你想做的事情:
// PHP
$row = array()
while ($row = mysql_fetch_object($result)
{
$data[] = $row;
}
$javascriptFriendlyData = json_encode($data);
// Javascript
data = <?= $javascriptFriendlyData ?>;
答案 1 :(得分:2)
你无法打印出那样的PHP。 PHP在请求页面时运行,它将HTML和JavaScript输出到浏览器,然后浏览器显示HTML和JavaScript。当JavaScript运行时,PHP就完成了。
答案 2 :(得分:0)
实际上,您正试图从客户端解释PHP部分,这是不可能的 要在服务器端进行解释,您应该编写与
类似的内容idephp = document.write("<?php echo $row->atitle; ?>");
在这种情况下,PHP将执行<?php ?>
标记内的代码。
答案 3 :(得分:0)
也许我不理解你的需求,但是你不需要javascript来将标题写入结果html文档。
尝试简单。
while ($row = mysql_fetch_object($result))
echo $row->atitle;
这两行将使用从查询中提取的所有记录集
如果你需要将一个动态创建的javascript嵌入到通过php提供的html页面中 你应该尝试这个PHP代码:
while ($row = mysql_fetch_object($result))
echo "\nhidephp = document.write(\"" .$row->atitle."\");";
如果你需要动态更新已经提供给浏览器的页面,你将需要Ajax(我没有给你一个复杂的解决方案,没有进一步的细节)。