2012-01-01 25 views
0

我有一个HTML表我从数据库建立:PHP函数调用弄乱表

<tr onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');"> 
    <td> 
     <?php echo $result_videos[$i]["camera_name"]; ?> 
    </td> 
    <td> 
     Timezone: <?php echo queryTimezone(); ?> <br> 
     Video Size: <?php echo $result_videos[$i]["video_size"]; ?> bytes <br> 
      Video Length: <?php echo strTime($result_videos[$i]["video_length"]); ?> 
    </td> 
    <td> 
     <form name="myform" action="<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>" method="POST"> 
     <input type="submit" name="delete_video" value="Delete" title="Delete this video" onClick="return confirm('Are you sure you want to delete?')"/> 
     <input type="hidden" name="video_url" value="<?php echo $result_videos[$i]["video_url"]; ?>" /> 
     </form> 
    </td> 
</tr> 

问题是这样的功能:

function queryTimezone() 
{ 
$query = "SELECT timezone FROM #__camcloud_users WHERE user_id=".$user->id; 
$db->setQuery($query); 
$timezone = $db->loadResult(); 
return $timezone; 
} 

它搅乱表了。我似乎没有得到任何PHP错误,并切断了“时区:”部分的表格,并将其引至页面的右上角。基本上我称之为功能queryTimezone。如果我改变把它放在html表格中它工作正常:

<tr onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');"> 
    <td> 
     <?php echo $result_videos[$i]["camera_name"]; ?> 
    </td> 
    <td> 
     Timezone: <?php 
$query = "SELECT timezone FROM #__camcloud_users WHERE user_id=".$user->id; 
$db->setQuery($query); 
$timezone = $db->loadResult(); 
echo $timezone; 
?> <br> 
     Video Size: <?php echo $result_videos[$i]["video_size"]; ?> bytes <br> 
      Video Length: <?php echo strTime($result_videos[$i]["video_length"]); ?> 
    </td> 
    <td> 
     <form name="myform" action="<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>" method="POST"> 
     <input type="submit" name="delete_video" value="Delete" title="Delete this video" onClick="return confirm('Are you sure you want to delete?')"/> 
     <input type="hidden" name="video_url" value="<?php echo $result_videos[$i]["video_url"]; ?>" /> 
     </form> 
    </td> 
</tr> 

这工作正常。我是如何称呼功能的?

回答

3

功能无法确定$用户> ID,因此犯规返回一个有效的结果... theres没什么的功能,它定义了$ USER是

+0

ack,谢谢。我错误地认为,因为我有'$ user =&JFactory :: getUser();'和'$ db =&JFactory :: getDBO();'全局设置它可以工作......感叹,我有更多要学习。 – Tom 2012-01-01 21:47:54

1

使用他的函数声明,而不是:

function queryTimezone($user,$db) 
{ 
    $query = "SELECT timezone FROM #__camcloud_users WHERE user_id=".$user->id; 
    $db->setQuery($query); 
$timezone = $db->loadResult(); 
return $timezone; 
} 

这样称呼:

Timezone: <?php echo queryTimezone($user,$db); ?> <br>