Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
04.09.2006, 22:30 | #1 |
народ помогите плиззз с php
помоги народ проблема у меня есть такая со скриптом одним вобщих чертах короче есть скрипт который выводит из файла 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)
__________________
|
|
Реклама: | нижний новгород кострома метеор расписание | виброгалтовка ювелирная | проект барн | Conecte CS-Cart a Dropbox Sign | Отличное предложение в КНС Нева - KF-H3KZ854KD - специальные условия для корпоративных клиентов в Санкт-Петербурге. |
05.09.2006, 11:54 | #2 |
Re: народ помогите плиззз с php
Привет 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 в 15:46.. |
|
Сказали спасибо: |
05.09.2006, 22:28 | #3 |
Re: народ помогите плиззз с php
ana это то мне было понятно что надо задать переменные которые будут считать строки и ограничивать по числу строк отображение но загвоздка заключается в том что я не знаю как написать или дописать скрипт чтобы он оставшиеся по 15 строк делил и отображалд на других страницах ??? как это сделать вопрос ну с этим ты мне тоже помог спасибо огромное жду ответа .
__________________
|
|
06.09.2006, 12:06 | #4 | ||||||||||||||||||||||||||||||||||||||||||||||
Re: народ помогите плиззз с php
Да? Тогда я не понял вопроса наверное :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 в 12:31.. |
|||||||||||||||||||||||||||||||||||||||||||||||
Сказали спасибо: |
14.09.2006, 20:23 | #5 |
Re: народ помогите плиззз с php
блин ana что то я не пойму ни как всё сделал как ты сказал а оно мне кажет только первую страницу а по остальным тыкаешь они хоп и те же позиции как на первой фигня какая то выходит странно помоги чего можно сделать а???
__________________
|
|
14.09.2006, 22:32 | #6 | |||||||||||||||||||||||
Re: народ помогите плиззз с php
Вы сделали ЭТО! Я не верю своим глазам! И ЭТО работает? Тогда не зря я здесь вроде как модератор&консультант...: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 в 11:02.. |
||||||||||||||||||||||||
12.11.2007, 15:06 | #7 |
Ответ: народ помогите плиззз с php
народ, хелп!
Где взять код для on-line каталога мебели? Нужно чтоб в БД добавлялась мебля, а потом чтоб отбирало с БД и по страничкам разбивало |
|
12.11.2007, 15:49 | #8 |
Ответ: народ помогите плиззз с php
Вообще-то, так, для общего развития, то, реализация чего здесь описывалась, называется импортным словом pagination (вольный русский перевод - листалка) и, при наличии небольших знаний английского, информация на эту тему находится на 1-2-3 в гугле.
|
|
06.01.2009, 20:33 | #9 |
Неактивный пользователь
Регистрация: 06.01.2009
Сообщений: 2
Репутация: 0
|
Re: народ помогите плиззз с php
|
07.01.2009, 12:17 | #10 |
Неактивный пользователь
Регистрация: 06.01.2009
Сообщений: 2
Репутация: 0
|
Re: народ помогите плиззз с php
Народ помогите доделать код, у меня сейчас все страницы показывает так: 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;} ?> Заранее, благодарю! |
16.01.2009, 12:04 | #11 |
Banned
Пол: Регистрация: 26.10.2005
Сообщений: 218
Репутация: 73
|
Re: народ помогите плиззз с php
Возьмите любую СМС-ку, у каждой из них есть класс для постраничного вывода типа pagination.php или pager.php ...
|
22.06.2009, 07:59 | #12 |
Неактивный пользователь
Регистрация: 22.06.2009
Сообщений: 2
Репутация: 0
|
Re: народ помогите плиззз с php
Народ подскажите в чём разница между кодировками ср1251 и windows-1251?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите Плиззз VGN-CR41SR/P | ДМs | Sony | 4 | 17.10.2009 11:16 |
Помогите мне разобраться с Asus F3Sa плиззз!!! | dreikke | Asus | 161 | 11.06.2009 17:20 |
народ, помогите с hp! | valud | Hewlett-Packard / Compaq | 2 | 05.03.2008 16:13 |
Помогите плиззз с SPV E200!!! | TAST | Смартфоны | 0 | 31.10.2007 10:59 |
|
|