X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Сократить вывод.
SlippingForest
SlippingForest
Topic Starter сообщение 20.3.2016, 16:08; Ответить: SlippingForest
Сообщение #1


Доброго времени суток, столкнулся с маленькой проблемой.
Есть выводящийся список, который может быть очень большим, как сделать вывод его примерно 10-20 пунктов? пробовал через break , ну толком нечего не вышло. Вот код, надеюсь вы мне поможете. [PHP]<?php
$pages = array();
require_once("page/page.php");

//обработать внешний параметр - имя искомого файла
$page='';
if (isset($_GET['page'])) $p=trim(strip_tags($_GET['page']));
$pk=array_keys($pages);
$pv=array_values($pages);

//найти запрошенный с сайта файл в списке
$file=$pk[0];
$title=$pv[0];
$found=true;
$ind=array_search($page,$pk);
if ($ind) { $file=$pk[$ind]; $title=$pv[$ind]; }
else if (!(empty($page) or $page==$file)) $found=false;


foreach ($pages as $key => $val){
echo ''.($val==$title?'':'<a href="/page/'.$key.'.html">').$val.($val==$title?'':'</a>').'<br>';

echo "$val";
echo '<br>';
$file = fopen("./page/$key.html","r");
if(!file)
{
echo("Ошибка открытия файла");
}
else
{
$buff = fread ($file,250);
print $buff;
}

}
?>[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Art Lev
Art Lev
сообщение 20.3.2016, 23:16; Ответить: Art Lev
Сообщение #2


Есть вариантов много: for, LimitIterator, Iterator
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SlippingForest
SlippingForest
Topic Starter сообщение 21.3.2016, 8:12; Ответить: SlippingForest
Сообщение #3


(Art Lev @ 21.3.2016, 01:16) *
Есть вариантов много: for, LimitIterator, Iterator

Если не трудно, напишите как должно быть?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Art Lev
Art Lev
сообщение 21.3.2016, 12:52; Ответить: Art Lev
Сообщение #4


[PHP]
$array = [1,2,3,4,5,6,7,8,9,10];
$i = 0; // счетчик
foreach($array as $val){
if($i < 5){
echo $val;
}
$i++; // увеличение счетчика
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SlippingForest
SlippingForest
Topic Starter сообщение 21.3.2016, 13:15; Ответить: SlippingForest
Сообщение #5


(Art Lev @ 21.3.2016, 14:52) *
[PHP]
$array = [1,2,3,4,5,6,7,8,9,10];
$i = 0; // счетчик
foreach($array as $val){
if($i < 5){
echo $val;
}
$i++; // увеличение счетчика
}
[/PHP]

Как правильно его вставить? я так понимаю нужно заметить текущий foreach?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Art Lev
Art Lev
сообщение 21.3.2016, 13:20; Ответить: Art Lev
Сообщение #6


Я вам привел просто пример, разумеется его надо адаптировать под ваш вариант. Вот в таком виде, все должно работать
[PHP]$i = 0; // объявим счетчик

foreach ($pages as $key => $val){
if($i < 5){
echo ''.($val==$title?'':'<a href="/page/'.$key.'.html">').$val.($val==$title?'':'</a>').'';
echo "$val";
echo '';
$file = fopen("./page/$key.html","r");
if(!file){
echo("Ошибка открытия файла");
}else{
$buff = fread ($file,250);
print $buff;
}
} // if
$i++; // увеличение счетчика
}
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SlippingForest
SlippingForest
Topic Starter сообщение 21.3.2016, 13:23; Ответить: SlippingForest
Сообщение #7


Спасибо, все работает, только вывод идет не в колонку как раньше а в линию.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Art Lev
Art Lev
сообщение 21.3.2016, 13:30; Ответить: Art Lev
Сообщение #8


Используйте <br> или heredoc
$i = 0; // объявим счетчик

foreach ($pages as $key => $val){
    if($i < 5){
        echo ''.($val==$title?'':'<a href="/page/'.$key.'.html">').$val.($val==$title?'':'</a><br>').'';
        echo "$val";
        echo '';
        $file = fopen("./page/$key.html","r");
    if(!file){
        echo("Ошибка открытия файла");
    }else{
        $buff = fread ($file,250);
        print $buff;
    }
    } // if
$i++; // увеличение счетчика
}


Форум съедает переносы. Добавьте в строки 5 и 6 тег <br> после </a> и на 6-ой внутрь к $val
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SlippingForest
SlippingForest
Topic Starter сообщение 21.3.2016, 13:32; Ответить: SlippingForest
Сообщение #9


Все хорошо работает, спасибо!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SlippingForest
SlippingForest
Topic Starter сообщение 28.7.2016, 17:55; Ответить: SlippingForest
Сообщение #10


Помогите еще раз, как к этому коду добавить переключатель страниц? пагинацию.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 97661 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6746 10.10.2023, 19:25
автор: Sbitcoin
Горячая тема (нет новых ответов) Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH
225 himin 132447 7.5.2023, 13:26
автор: Вера_Симонова
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлы«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«»
13 101Crypta 12130 18.4.2023, 23:15
автор: 101Crypta
Открытая тема (нет новых ответов) Нужен вывод в топ наших роликов Youtube
3 wep 1906 23.3.2023, 17:39
автор: distrib095


 



RSS Текстовая версия Сейчас: 28.3.2024, 19:15
Дизайн