有没有办法在顶部读取一个变量,在底部定义一些变量。 以下是这种情况的一个例子:
<!--this image is somewhere on top of the page-->
<img src="/<?php print logoPath(); ?>" border="0" />
// this code is somewhere on bottom of the page
$logo_query = "select logo_path from table where id = $row->user_id";
$res_logo = mysql_query($logo_query) or die(mysql_error());
$row_logo = mysql_fetch_object($res_logo);
$logo_path = $row_logo->logo_path;
function logoPath()
{
global $logo_path;
return $logo_path;
}
我尝试使用该函数返回值,但即使这样也不起作用。
任何解决方案?
由于
答案 0 :(得分:4)
不,在PHP中,所有指令都是按顺序执行的,因此您无法读取尚未定义的变量。您必须将设置$logo_path
值的代码移到您调用logoPath()函数的位置上方。
或者你可以将sql代码放在logoPath()函数中,这样你就可以使用函数返回你调用函数的地方下面的徽标路径。
答案 1 :(得分:1)
不,但有一种方法可以使用jquery:
<img id="image" src="" border="0" />
// this code is somewhere on bottom of the page
$logo_query = "select logo_path from table where id = $row->user_id";
$res_logo = mysql_query($logo_query) or die(mysql_error());
$row_logo = mysql_fetch_object($res_logo);
$logo_path = $row_logo->logo_path;
function logoPath()
{
global $logo_path;
echo "<script type='text/javascript'> $('#image').src('".$logo_path."');</script>";
}
这有点愚蠢,但应该有用。
答案 2 :(得分:-1)
您可以使用Div标记并将位置放在页面顶部。这样代码就可以在按钮上执行,但结果会显示在顶部。