为什么这会阻止我的PHP代码?

时间:2016-04-30 12:23:04

标签: php html

查询

$q1 = "SELECT * from `event` ORDER BY `upload_date` DESC";

这是功能

function display_content($r, $dis){

foreach($r as $part) {

$dis .= '<br /><div id="event_box">';
$dis .= '<div id="event_name"><a href = " http://'.$part['link'].'" target="_blank"> '.$part['name'].'</a></div>';
$dis .= '<div id="start_date"><b>From: </b>'.$part['start_date'].' </div>';
$dis .= '<div id="end_date"><b>Until: </b>'.$part['end_date'].' </div>';
$dis .= '<div id="event_link"><b>Link: </b><a href = " http://'.$part['link'].'" target="_blank">Event Website</a></div>';
$dis .= '<div id="event_venue"><b>Venue: </b>'.$part['venue'].' </div>';

$a = array(854, 480);
$b = array(300, 300);
$str = $part['embed_code'];
$partVideo = str_replace($a, $b, $str);

$dis .= '<div id="event_video"> '.$partVideo.' </div>';

$dis .= '<div id="event_image"><a href = " http://'.$part['link'].'" target="_blank"><img src = "data:image;base64, '.$part['image'].'"';
$dis .= 'alt = "'.$part['name'].'"></a></div>';
$dis .= '<div id="details">  '.$part['details'].'<br /><br />';
$dis .= '<button class="share2 btn-primary  s_twitter">Tweet!</button>&nbsp&nbsp';
$dis .= '<button class="share2 btn-primary  s_facebook">Share on Facebook!</button></div>';
$dis .= '</div>';
$dis .= '<br />';

}

echo $dis;

} // close function display content

稍后我打电话给

display_content($r1, $display);

仅显示来自数据库的事件的第一个实例(条目),并且它看起来很好(名称,地点,详细信息等),但所有其他事件条目根本不显示。就像他们被“封锁”一样也许

但是,如果删除行

,它们都会显示正常
 $dis .= '<div id="event_video"> '.$partVideo.' </div>';

参赛作品要么

$dis .= '<div id="event_image"><a href = " http://'.$part['link'].'" target="_blank"><img src = "data:image;base64, '.$part['image'].'"';
$dis .= 'alt = "'.$part['name'].'"></a></div>';

 $dis .= '<div id="event_video"> '.$partVideo.' </div>';

&#39; $ DIS&#39;或者&#39; $ dis&#39;函数中表示的函数是在函数之外定义/实例化的($ dis =&#39;&#39;;)因此应该是一个全局变量。

发生了什么,我该如何解决?

我知道他们都没有相同的图像/视频信息,这可能意味着我应该更好地规范我的数据库(这些条目在数据库中为NULL,直到我填充它们),但不应该无论如何它们都会出现在屏幕上?

为什么只出现第一个事件?

谢谢!

1 个答案:

答案 0 :(得分:5)

'<div id="event_video"> '.$partVideo.' </div id="event_video">';

这不是你关闭HTML标签的方式......你应该使用:

'<div id="event_video"> '.$partVideo.' </div>';

仔细检查您的代码,并确保您有正确的HTML标记。你已经在多个地方完成了这项工作。

此外,您可能需要执行var_dump( $partVideo )来验证是否可以将该变量与字符串实际连接,并确保它不负责“破坏”其余代码。