![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
помоги народ проблема у меня есть такая со скриптом одним вобщих чертах короче есть скрипт который выводит из файла excel с расширением csv
информацию на страницу но вот незадача не знаю как сделать так чтоб он на страницы разбивал ну если в файле прайс большой например 30 старниц формата А4 как это сделать разбиение сейчас только получается весь прайс вывести на одну веб страницу а это сами понимаете не катит ни в какие ворота короче есть три файла один в котором всё содержиться и ещё два вот код файла под названием excelexit.php <?php $data = File("modules/Prise/data.csv"); echo "<b><h2><center>Прайс-лист СПб-Электро</b></h2></center>"; echo "<left><table border=1><tr>"; $dat_arr = explode(";", $data[0]); for ($p=0;$p<count($dat_arr);$p++) { echo "<td bgcolor=#9cbee6><center><b>$dat_arr[$p]"; } echo "</tr>"; for ($i=1;$i<count($data);$i++) { $data_array = explode(";", $data[$i]); echo "<tr>"; for ($f=0;$f<count($data_array);$f++) { echo "<td bgcolor=#ffffff><left>$data_array[$f]"; } echo "</tr>"; } echo "</table></left></form>"; ?> вот второй под названием index.php <?php defined('SPAIZ_CODE') or die('Direct Access to this location is not allowed.'); $module_name = basename(dirname(__FILE__)); $r_blocks = 1; include("header.php"); OpenTable(); include("modules/$module_name/excelexit.php"); CloseTable(); include("footer.php"); ?> это всё дело написано под движок спайза (spaiz-nuke)
__________________
|
|
|
|
|
| Реклама: | счастлив когда ты нет фильм 2026 | кольца бракосочетания | как подключать авито доставку к озону | Мебельный магазин: стол круглый на кухню - Переходи на сайт! | Мебельный магазин: стол круглый журнальный - Переходи на сайт! |
|
|
#2
|
|
Привет RUSik!
В скрипте надо задать переменные которые, которые будут определять сколько выводить строчек таблицы. А точнее задать переменные допустим> $start - с какой линии начинаем, по умолчанию с 1-ой, так как в 0 линии у нас заголовок $show - сколько надо показать линий начиная с линии старт Вот что у меня на скорую руку вышло> Код:
<?php
//$data = File("modules/Prise/data.csv");
$start = 1; // start line
$show = 15; // showed lines
// make csv array ONLY FOR TEST ;-)
$data = array("Name;Price");
$line = 100; // 100 lines in tht cvs file
for($i=1;$i<=100;$i++){
array_push($data, "item;$i EUR");
}
//~
// get count of line (also count of <tr>)
$count_tr = count($data);
// explode firsr line (also header) to array
$dat_arr = explode(";", $data[0]);
// get count of header (also count of <td>)
$count_td = count($dat_arr);
// print title
echo "<b><h2><center>Прайс-лист СПб-Электро</b></h2></center>";
// start table
echo "<left><table border=1><tr>";
// print table header
for ($i=0;$i<$count_td;$i++)
echo "<td bgcolor=#9cbee6><center><b>$dat_arr[$i]";
// end header
echo "</tr>";
// set stop
$stop = (($start + $show) > $count_tr)?$count_tr:($start + $show);
// print table content
for ($i=$start;$i<$stop;$i++)
{
$data_array = explode(";", $data[$i]);
echo "<tr>";
for ($j=0;$j<$count_td;$j++)
echo "<td bgcolor=#ffffff><left>$data_array[$j]";
echo "</tr>";
}
// end table content
echo "</table></left></form>";
?>
Выводится аккурат заголовок и 15 первых строчек :xe из массива в 100 елментов Теперь осталось только передавать значения для переменных $stop и $show. Как? Moжно произвольно, ну например "А покажите мне плизз 20 линий начиная с 50-ой" или разделить фиксированно по 20 строк на страницу ... Это уже дело вкуса Надеюсь всё понятно? Ну как работает то сейчас скриптик то? :гуляем Я дописал комментарии и немного оптимизировал :дразню PS. Красота принадлежит народу! Отдохнуть после трудов праведных, в смысле глаза должны отдыхать! > Код:
<?php
$link ='http://visualweb.youngsunday.com/otome/files/034/';
for($i=1;$i<=23;$i++){
$img = '000'.$i;
$img = substr($img, -3, 3);
$a = $link.$img.'.jpg';
echo "<a href=$a>$a</a><br>";
}
ничаго так...
__________________
Лучше сидеть в маленькой душной пивной , чем работать на большом светлом заводе...
Последний раз редактировалось ana; 05.09.2006 в 14:46.. |
|
|
|
|
| Сказали спасибо: |
|
|
#3
|
|
ana это то мне было понятно что надо задать переменные которые будут считать строки и ограничивать по числу строк отображение но загвоздка заключается в том что я не знаю как написать или дописать скрипт чтобы он оставшиеся по 15 строк делил и отображалд на других страницах ??? как это сделать вопрос ну с этим ты мне тоже помог спасибо огромное жду ответа .
__________________
|
|
|
|
|
|
|
#4
|
||||||||||||||||||||||||||||||||||||||||||||||
Да? Тогда я не понял вопроса наверное :54:
---- Надо количество всех строк поделить на число строчек которые мы хотим видеть, тогда получим количество страниц, вот что я дописал в конце кода> Код:
// set links
// get count of links
$count_ln = intval($count_tr/$show) + 1;
$j = 1;
for($i=1;$i<=$count_ln;$i++){
echo (" <a href=\"#\">$j</a> ");
$j++;
}
до целого числа и прибавлять единицу, что бы не потерять последние строки в таблице Вот так это выглядит в натуре> http://weber-grosshandel.eu/nowa/rusik/excelexit.php а это исходник> http://weber-grosshandel.eu/nowa/rusik/excelexit.html :23: Пьём шампанское!
__________________
Лучше сидеть в маленькой душной пивной , чем работать на большом светлом заводе...
Последний раз редактировалось ana; 07.09.2006 в 11:31.. |
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
| Сказали спасибо: |
|
|
#5
|
|
блин ana что то я не пойму ни как всё сделал как ты сказал а оно мне кажет только первую страницу а по остальным тыкаешь они хоп и те же позиции как на первой фигня какая то выходит странно помоги чего можно сделать а??? ![]()
__________________
|
|
|
|
|
|
|
#6
|
|||||||||||||||||||||||
Вы сделали ЭТО! Я не верю своим глазам! И ЭТО работает? Тогда не зря я здесь вроде как модератор&консультант...:4: А то, что показывает только первую страницу, это правильно, я специально так сделал и ждал этого вопроса... Просьба не ругаться ... ... так надо!(c)"Бриллиантовая рука" И так к скрипту> вся страница показывается через index.php, значит надо делать ссылку на index.php! Дописываем скрипт> Код:
// set links
// get count of links
$count_ln = intval($count_tr/$show) + 1;
$j = 1;
$start = 1;
for($i=1;$i<=$count_ln;$i++){
// %PATH_TO_%/index.php
echo (" <a href=\"index.php?start=$start&show=$show\">$j</a> ");
$j++;
$start += $show;
}
переменные $start и $show , при чём переменную $start в проходе каждого цикла увеличиваем на величину $show Теперь мы должны принять переменные $start & $show в скрипте index.php Добавляем пару строчек в index.php Код:
// GLOBAL $start & $show
// start line
if(isset($_GET['start']) && 0 != $_GET['start'])$start = $_GET['start'];
else $start = 1;
// showed lines
if(isset($_GET['show']) && 0 != $_GET['show'])$show = $_GET['show'];
else $show = 15;
надо стереть! иначе они будут переопределяться! По моему всё... Код и работающий пример тут Код: excelexit.php index.php Пример Спасибо за внимание!:гуляем
__________________
Лучше сидеть в маленькой душной пивной , чем работать на большом светлом заводе...
Последний раз редактировалось ana; 15.09.2006 в 10:02.. |
||||||||||||||||||||||||
|
|
|
|
|
#7
|
|
народ, хелп!
![]() Где взять код для on-line каталога мебели? Нужно чтоб в БД добавлялась мебля, а потом чтоб отбирало с БД и по страничкам разбивало |
|
|
|
|
|
|
#8
|
|
Вообще-то, так, для общего развития, то, реализация чего здесь описывалась, называется импортным словом pagination (вольный русский перевод - листалка) и, при наличии небольших знаний английского, информация на эту тему находится на 1-2-3 в гугле.
|
|
|
|
|
|
|
#9
|
|
Неактивный пользователь
Регистрация: 06.01.2009
Сообщений: 2
Репутация: 0
|
|
|
|
|
|
|
#10
|
|
Неактивный пользователь
Регистрация: 06.01.2009
Сообщений: 2
Репутация: 0
|
Народ помогите доделать код, у меня сейчас все страницы показывает так: 1 2 3 4 5 6...25
а нужно вот так: Начало 6 7 8 9 10 Последняя (Всего 25) так чтобы показывались страницы две предыдущие(6 7) и две последующие(9 10) или что-то в этом плане. Вот код: <?php $data = File("tyc.csv"); // GLOBAL $start & $show // start line if(isset($_GET['start']) && 0 != $_GET['start'])$start = $_GET['start']; else $start = 1; // showed lines if(isset($_GET['show']) && 0 != $_GET['show'])$show = $_GET['show']; else $show = 30; // get count of line (also count of <tr>) $count_tr = count($data); // explode firsr line (also header) to array $dat_arr = explode(";", $data[0]); // get count of header (also count of <td>) $count_td = count($dat_arr); // заголовок echo "<h2><center>Прайс-лист на оптику TYC</h2></center>"; // начало таблицы echo "<center><table cellpadding=3 cellspacing=0 border=1 bordercolorlight=#333333><tr>"; // шапка таблицы for ($i=0;$i<$count_td;$i++) echo "<td bgcolor=white><center><b><p>$dat_arr[$i]"; // end header echo "</tr>"; // set stop $stop = (($start + $show) > $count_tr)?$count_tr $start + $show);// содержимое таблицы for ($i=$start;$i<$stop;$i++) { $data_array = explode(";", $data[$i]); echo "<tr>"; for ($j=0;$j<$count_td;$j++) echo "<td><p>$data_array[$j]"; echo "</tr>"; } echo "</table></form>"; // настройка ссылок // get count of links $count_ln = intval($count_tr/$show) + 1; $j = 1; $start = 1; for($i=1;$i<=$count_ln;$i++){ // обращение к главной странице echo (" <a href=\"katalog.php?start=$start&show=$show\">$j</a> "); $j++; $start += $show;} ?> Заранее, благодарю! |
|
|
|
|
|
#11
|
|
Banned
Пол:
Регистрация: 26.10.2005
Сообщений: 218
Репутация: 73
|
Возьмите любую СМС-ку, у каждой из них есть класс для постраничного вывода типа pagination.php или pager.php ...
|
|
|
|
|
|
#12
|
|
Неактивный пользователь
Регистрация: 22.06.2009
Сообщений: 2
Репутация: 0
|
Народ подскажите в чём разница между кодировками ср1251 и windows-1251?
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Помогите Плиззз VGN-CR41SR/P | ДМs | Sony | 4 | 17.10.2009 10:16 |
| Помогите мне разобраться с Asus F3Sa плиззз!!! | dreikke | Asus | 161 | 11.06.2009 16:20 |
| народ, помогите с hp! | valud | Hewlett-Packard / Compaq | 2 | 05.03.2008 16:13 |
| Помогите плиззз с SPV E200!!! | TAST | Смартфоны | 0 | 31.10.2007 10:59 |
|
|