Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php Как разибить вывод массива на части? / 12 сообщений из 12, страница 1 из 1
23.08.2013, 13:36
    #38375793
alfa28
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
Уважаемые форумчане, подскажите пожалуйста, как вывести первые 5 значений таблицы, потом page-break-after: вставить текст, далее продолжить вывод из 6 и по 10 записей в таблице и снова page-break-after. (Это всё это одна html страница)


<?foreach ($data as $key=>$row):?>
<table>
</table>

<endforeach?>
...
Рейтинг: 0 / 0
23.08.2013, 13:52
    #38375823
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
Универсально как то так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$i = 0;
foreach(....) {
	// тут что-то выводим
	$i++;
	if($i == 5) {
		// тут выводим page-break-after
		$i = 0;
	}
}

Если $key числовые и идут по порядку и от нуля, то можно от $i избавиться.
...
Рейтинг: 0 / 0
23.08.2013, 14:42
    #38375916
alfa28
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
vkle,

vkle,
ПЕДЕТ ТАБЛИЦЕЙ КАКОЙ-ТО ТЕКСТ (ШАПКА)
<table border="1" cellspacing="0" cellpadding="0" style="width: 297px">
<thead>
<tr>
<th>№ п/п </th>
<th></th>
...
</tr>
</thead>
<tbody>

<?foreach ($data as $key=>$row):?> // выводит весь массив, но мне нужно чтоб вывело 5 строк таблицы, вставили блокс текстом, дальше выводим по 10 записей снова разорвали таблицу вставили блок с текстом и т.д всё по 10 (всё это на одной html странице)
<tr>
<td><?=$key+1?></td>
<td><?=$row->barcode?></td>
<td></td>
</tr>
....
<?endif>
<?endforeach?>
</tbody>
</table>

<div class="block_details_footer">
КАКОЙТО ТЕКСТ
</div>
...
Рейтинг: 0 / 0
23.08.2013, 15:00
    #38375945
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
alfa28,

Специально для Вас!
Кнопочка SRC для оформления фрагментов кода.
И кнопочка предварительного просмотра. Очень помогает.
...
Рейтинг: 0 / 0
23.08.2013, 15:58
    #38376056
alfa28
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
vkle,

Причем эта кнопка, я же в общих чертах кинула код.
...
Рейтинг: 0 / 0
23.08.2013, 16:35
    #38376103
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
alfa28,

В общих чертах это выглядит так: "какая-то лапша, не хочу напрягать глаза".
...
Рейтинг: 0 / 0
23.08.2013, 16:52
    #38376123
alfa28
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
vkle,
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<div> ШАПКА страницы</div>
      <table>
            <th>
                <td>№ п.п</td>
                <td>Баркод</td>
                    ...
            </th>
       <?foreach ($data as $key=>$row):?>
           <tr>
                 <td><?=$key+1?></td>
                 <td><?=$row->barcode?></td> 
                 ...
          </tr>
      <?endforeach> 
</table>
<div> ТЕКСТ </div>


Так мне выводит всю таблицу, мне б её разбить на части чтоб после каждого разбития вивести определённый блок с текстом. Но приэтом первая разбитая часть должна имень 5 записей все последующие по 10.
...
Рейтинг: 0 / 0
23.08.2013, 17:04
    #38376142
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
alfa28,

Тогда первый цикл (записи 0...4) сделать на for или while.
Дальше на while отсчитывать по 10 записей.
Использовать или нет управляющую переменную - это от последовательности $key зависит.
...
Рейтинг: 0 / 0
23.08.2013, 18:24
    #38376225
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
Еще варианты:

1. В каждый фрагмент берем нужное к-во элементов из $data http://www.php.net/manual/ru/function.array-slice.php и и выводим их.

2. Выдергиваем первые пять через http://www.php.net/manual/ru/function.array-shift.php А остальное разбиваем на фрагменты http://www.php.net/manual/ru/function.array-chunk.php
...
Рейтинг: 0 / 0
23.08.2013, 18:38
    #38376239
alfa28
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
vkle,

Уже пробовала, я ж использую обьект
Код: php
1.
 <?foreach (array_chunk($data, 5) as $key=>$row):?>


И на:
Код: php
1.
<td><?=$row->barcode?></td> 


Выдает ошибку что: Trying to get property of non-object
...
Рейтинг: 0 / 0
23.08.2013, 19:32
    #38376265
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
alfa28,

Давайте уточним, что есть $data и что есть $row
...
Рейтинг: 0 / 0
27.08.2013, 12:31
    #38378456
alfa28
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php Как разибить вывод массива на части?
vkle,
$data,$row - объекты. Если я делаю
Код: php
1.
 echo $key, " = ", $row, PHP_EOL;

то выдаёт: Object of class OrderDoc could not be converted to string
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php Как разибить вывод массива на части? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]