这是我的代码:
<?php
$items = array();
$images = node_files(request('nid')) ;
$gallery_cover = db_fetch_row("node_meta","nid='".request('nid')."' AND name='gallery_image'");
foreach ($images as $key => $value)
{
$items[$key]['weight'] = $value['fid'].'_'.$value['weight'] ;
$items[$key]['image'] = '<a href="'.image_url($value['uri']).'" data-lightbox="gallery-image_'.$value['fid'].'">'.image_load($value['uri'],array("class"=>"img-thumbnail","thumbs"=>"small")).'</a>' ;
$items[$key]['title'] = '<span id="title_file_'.$value['fid'].'">'.$value['title'].'</span>' ;
$cover = "<a href='javascript:void(0);' onclick='javascript:gallery_cover(\"".$value['fid']."\"); return false;' id='gallery_cover_".$value['fid']."' data-toggle='tooltip' class='data-tooltip' data-placement='top' data-original-title='Top' id='tooltip1'><span class='btn btn-default btn-sm glyphicon glyphicon-eye-".(isset($gallery_cover['value']) && $gallery_cover['value']==$value['fid']?'open':'close')."'></span></a>" ;
$edit = "<a href='javascript:void(0);' onclick='javascript:update_file(\"".$value['fid']."\"); return false;' data-toggle='tooltip' class='data-tooltip' data-placement='top' data-original-title='Modifier' id='tooltip1'>".IMG_EDIT."</a>" ;
$delete = "<a href='javascript:void(0);' onclick='javascript:delete_added_image(\"".$value['fid'].'_'.$value['weight']."\"); return false;' data-toggle='tooltip' class='data-tooltip' data-placement='top' data-original-title='Supprimer' id='tooltip1'>".IMG_DELETE."</a>" ;
$items[$key]['actions'] = $cover." ".$edit." ".$delete ;
}
foreach($images as $key => $value)
{
if ($key % 4 == 0)
echo "<div class=\"row\">" ;
echo "<div class=\"col-md-3\">" ;
echo "<div class='thumbnail'><img src=".image_url($value['uri'])"/>
<div class='caption'>
<h4>".$value['title']."</h4> // <--- HERE THE ERROR SHOW
<p>$cover $edit $delete</p>
</div></div>" ;
echo "</div>" ;
}
?>
我尝试使用标题和操作$cover
$edit
$delete
对4行图像进行dsiplay,此代码会生成错误。我哪里做错了?
这是错误:
syntax error, unexpected '"/> ' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';'
由于
答案 0 :(得分:4)
您:
-
foreach($images as $key => $value)
{
if ($key % 4 == 0)
echo "<div class=\"row\">" ;
echo "<div class=\"col-md-3\">" ;
// added a dot in the line below (almost at the end)
echo "<div class='thumbnail'><img src=".image_url($value['uri']) . "/>
<div class='caption'>
<h4>".$value['title']."</h4>
<p>$cover $edit $delete</p>
</div></div>" ;
echo "</div>" ;
} // <--- HERE
?>
对于将来,我建议使用一些(任何)IDE,例如NetBeans(我最喜欢的)或Eclipse。它们是免费的开源非常强大的工具。如果你负担得起,你可以尝试使用PHPStorm,即恕我直言,这三者中最好的但不是免费的:)
而且对于未来的事情,我会建议PHP中的HTML输出的其他一些风格。如果您在循环中直接执行echo
,为什么不在外部 PHP中执行此操作?像这样:
foreach($images as $key => $value)
{
if ($key % 4 == 0)
echo "<div class=\"row\">" ;
// let's close the PHP block here
?>
<div class="col-md-3">
<div class="thumbnail">
<img src="<?= image_url($value['uri']); ?>" />
<div class="caption">
<h4><?= $value['title']; ?></h4>
<p><?= $cover . ' ' . $edit . ' ' . $delete; ?></p>
</div>
</div>
</div>
<? // let's open PHP block again
}
这种方法有很多优点:
<?=
,您总是可以在标记中注入PHP。它打开PHP流并执行echo
。它与<? echo
完全相同。