下面的当前循环产生结果:
<?php
foreach ($response->items->item as $value) {
echo("<img src='".$value->imageUrl."' width=200><br>");
echo($value->description."<br>");
echo($value->url."<br>");
};
?>
//结果
<1st row>
(image)
description
(url)
</end 1st row>
<2nd row>
(image)
description
(url)
</end 2nd row>
<3rd row>
(image)
description
(url)
</end 3rd row>
我需要完成的是循环结果,以便每个项目从左到右是水平的。 e.g。
<1st col> <2nd col> <3rd col>
(image) (image) (image)
description description description
(url) (url) (url)
</end 1st col> </end 2nd col> </end 3rd col>
条件应该是:
什么是项目?
一个项目包括:
(image)
description
(url)
有多少项?
最多20个或更多。
问题结束
好的,大家,问题的结尾。希望得到这方面的帮助,这是有效的。
答案 0 :(得分:2)
你可以做很多事情来完成它。最好的方式(我认为..)正在创建一个UL并打破每三个元素:
<ul>
<?php
$i = 0;
foreach ($response->items->item as $value) : ?>
<li<?php if ( $i % 3 == 0 ) echo ' class="break"' ?>>
<?php echo "<img src='".$value->imageUrl."' width=200><br>"; ?>
<?php echo $value->description ?>
</li>
<?php $i++; // Increment counter
endforeach ?>
</ul>
然后你需要指定这个列表必须是水平的并指定打破.break元素中的行:
<style>
ul li {
float:left;
}
ul li.break {
clear: right;
}
</style>
答案 1 :(得分:0)
我不久前为客户建立了这个,我认为它正是你需要的: Column-focused Tables
基本上,您修改addItem()
功能以正确调整您要显示的数据(链接,图像等),然后只为每个要显示的项目调用addItem()
。然后outputItemTable()
将输出一个表,其中数据组合在一起。
答案 2 :(得分:0)
<?php
echo '<div style="width:100%;">';
foreach ($response->items->item as $value) {
echo('<div style="display:inline-block;">
<img src="'.$value->imageUrl.'" width=200><br>');
echo($value->description."<br>");
echo($value->url."</div>");
};
echo '</div>';
?>
我希望这有帮助
答案 3 :(得分:0)
<?php
$array = array();
$array[] = array('name'=>'Name 1', 'id'=>'w', 'spec'=>'rrr');
$array[] = array('name'=>'Name 2', 'id'=>'x', 'spec'=>'sss');
$array[] = array('name'=>'Name 3', 'id'=>'y', 'spec'=>'ttt');
$array[] = array('name'=>'Name 4', 'id'=>'z', 'spec'=>'uuu');
function horizontal_table($array, $key){
$count = count($array);
$return = "";
for($i=0; $i<$count; $i++){
$return .= "<td>";
if(isset($array[$i][$key])){
if(!empty($array[$i][$key])){
$return .= $array[$i][$key];
} else {
$return .= " ";
}
} else {
$return .= " ";
}
$return .= "</td>";
}
return $return;
}
?>
<table border="1px solid #000">
<tr>
<td> </td>
<?php echo horizontal_table($array, 'name'); ?>
</tr>
<tr>
<td>Item Id</td>
<?php echo horizontal_table($array, 'id'); ?>
</tr>
<tr>
<td>Item Spec</td>
<?php echo horizontal_table($array, 'spec'); ?>
</tr>
</table>
我就是这样做的。