Текущий цикл ниже дает результат:
<?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>
То, что мне нужно выполнить, – это скопировать результат, чтобы каждый элемент был горизонтальным слева направо. например
<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 или более.
конец вопроса
Хорошо, все, конец вопроса. Надеюсь получить помощь в этом, это эффективно.
Вы можете сделать много всего, чтобы выполнить это. Лучший способ (я думаю ..) создает 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>
Я построил это немного раньше для клиента, я думаю, что это именно то, что вам нужно: Столбцы с фокусом
В основном, вы изменяете addItem()
чтобы правильно addItem()
данные, которые хотите отобразить (ссылки, изображения и т. Д.), А затем просто вызывайте addItem()
для каждого отображаемого элемента. Затем outputItemTable()
выведет таблицу с данными, сгруппированными вместе правильно.
<?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>'; ?>
надеюсь, это поможет
<?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>
Вот как я это делаю.