2016-05-31 44 views
0

我想在foreach结构中只使用div一次,因为当它被多次使用时,找到的图像都在新行上。我不知道如何从中摘录div来仅使用它一次。如何从摘录结构中摘录div

<?php 
include('func.php'); 

if(isset($_POST['keywords'])){ 
    $suffix = ""; 
    $keywords = mysql_real_escape_string(htmlentities(trim($_POST['keywords']))); 
    $errors = array(); 
     $results = search_results($keywords); 
     if ($results === false) { 
     echo '<h1>We didn\'t find anything for &quot;'.$keywords.'&quot;</h1>'; 
    } 
    else { 
     $results_num = count($results); 
     $suffix = ($results_num!=1)?'s':''; 
     echo '<h1>',$results_num,' item',$suffix,' For &quot;',$keywords,'&quot;</h1>'; 
     foreach($results as $result){ 
      echo ' 
<div style="background:rgba(50,0,100,1)"> 

<span class="overimage"> 

<a href="',$result['game_url'],'" target="_blank"> 

<span class="hoverimage"> 
<span class="hovertext1line-home">',$result['name'],'</span><img class="onlinegameimage-home" src="',$result['image_url'],'" alt=',$result['alt'],'> 
</span> 

</a> 

</span> 

</div> 

'; 

}}} 

?> 
+0

那么跨度可以重复吗?你想限制只有权利? – Karthikeyani

+0

是的,跨度可以重复。 – Catchamouse

+0

请在下面检查我的答案 – Karthikeyani

回答

0

只需推动div标签foreach循环之外:

<?php 
include('func.php'); 

if (isset($_POST['keywords'])) { 
    $suffix = ""; 
    $keywords = mysql_real_escape_string(htmlentities(trim($_POST['keywords']))); 
    $errors = array(); 
     $results = search_results($keywords); 
     if ($results === false) { 
     echo '<h1>We didn\'t find anything for &quot;'.$keywords.'&quot;</h1>'; 
    } else { 
     $results_num = count($results); 
     $suffix = ($results_num!=1)?'s':''; 
     echo '<h1>' . $results_num . ' item' . $suffix . ' For &quot;' . $keywords . '&quot;</h1>'; 
     echo '<div style="background:rgba(50,0,100,1)">'; 
     foreach ($results as $result) { 
      echo '<span class="overimage"> 
       <a href="' . $result['game_url'] . '" target="_blank"> 
        <span class="hoverimage"> 
         <span class="hovertext1line-home">' . $result['name'] . '</span> 
         <img class="onlinegameimage-home" src="' . $result['image_url'] . '" alt="' . $result['alt'] . '" /> 
        </span> 
       </a> 
      </span>'; 
     } 
     echo '</div>'; 
    } 
} 

而且固定了大量的代码,因为它被打破。

+0

解决,谢谢! – Catchamouse

0

试试看看这个代码。另请注意,您使用逗号(,)而不是点(。)连接变量。所以改变一下。

$div = '<div style="background:rgba(50,0,100,1)">'; 

foreach($results as $result){ 
    $div .= '<span class="overimage"><a href="'.$result['game_url'].'" target="_blank"><span class="hoverimage"><span class="hovertext1line-home">'.$result['name'].'</span><img class="onlinegameimage-home" src="'.$result['image_url'].'" alt='.$result['alt'].'></span></a></span>'; 
} 

$div .= '</div>'; 
echo $div;