![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Helples |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.6.2008 Репутация: нет Всего: нет |
В базе созданы 2 таблицы, связаны отношением по ключевым полям. Первоначально пользователь видит общую информацию, а затем , выбрав интерессующий раздел, переходит на страницу , где отображается содержание выбранного раздела. Для просмотра характеристик отдельного элемента пользователь мышью выбирает его на странице и видит все его характеристики.
Скрипт : #!C:\perl\bin\perl.exe #Подключение модулей use DBI; use CGI::Carp qw(fatalsToBrowser); use CGI qw(param); #Настройки БД $db_name="phone"; $db_host="localhost"; $db_user="root"; $db_table="companies"; $db_password=""; #Распознаем действия $action=param('action'); #Главная if ($action eq '') { $out_str.="Выберите раздел!"; } #Список цветов if ($action eq 'colour') { $dbh=DBI->connect("DBI:mysql:$db_name:$db_host",$db_user,$db_password); $sth=$dbh->prepare("SELECT * FROM colour"); $sth->execute(); $out_str.="<table><tr><td>ID</td><td>Цвет</td></tr>"; while(($row{id}, $row{colour}) = $sth->fetchrow_array()) { $out_str.="<tr><td>$row{id}</td><td><a href=\"/cgi-bin/index.cgi?action=showcolour&Producer=$row{id}\">$row{colour}</a></td></tr>"; } $out_str.="</table>"; } #Вывод по цветам if ($action eq 'showcolour') { $dbh=DBI->connect("DBI:mysql:$db_name:$db_host",$db_user,$db_password); $Producer=param('Producer'); $sth=$dbh->prepare("SELECT companies.name AS name, companies.price AS price, companies.tel AS tel, companies.email AS email, companies.address AS address, colour.colour AS colour FROM companies inner join colour on companies.Producer=colour.id WHERE companies.Producer=$Producer ORDER BY name ASC"); $sth->execute(); $out_str.="<table><tr><td>Название</td><td>Цена</td><td>Цвет</td><td>телефон</td><td>Адрес</td><td>Почта</td></tr>"; while(($row{name}, $row{price}, $row{tel}, $row{email}, $row{address}, $row{colour}) = $sth->fetchrow_array()) { $out_str.="<tr><td>$row{name}</td><td>$row{price}</td><td>$row{colour}</td><td>$row{address}</td><td>$row{tel}</td><td>$row{email}</td></tr>"; } $out_str.="</table>"; } #Вывод всего каталога if ($action eq 'all') { $dbh=DBI->connect("DBI:mysql:$db_name:$db_host",$db_user,$db_password); $Producer=param('Producer'); $sth=$dbh->prepare("SELECT companies.name AS name, companies.price AS price, companies.tel AS tel, companies.email AS email, companies.address AS address, colour.colour AS colour FROM companies inner join colour on companies.Producer=colour.id ORDER BY name ASC"); $sth->execute(); $out_str.="<table><tr><td>Название</td><td>Цена</td><td>Цвет</td><td>телефон</td><td>адрес</td><td>Почта</td></tr>"; while(($row{name}, $row{price}, $row{tel}, $row{email}, $row{address}, $row{colour}) = $sth->fetchrow_array()) { $out_str.="<tr><td>$row{name}</td><td>$row{price}</td><td>$row{colour}</td><td>$row{address}</td><td>$row{tel}</td><td>$row{email}</td></tr>"; } $out_str.="</table>"; } #Вывод странички print ("Content-type: text/html\n\n"); print << "[END]"; <html> <head><title>Добавление данных в базу</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <style type="text/css"> body,td,th { font-family: Verdana, sans-serif; font-size: 12px; color: #1b1b1b; } table, td { border:1px solid; border-collapse:collapse; padding:10px; } a { color: #0089d9; text-decoration:none; } a:hover { text-decoration: underline; } </style> </head> <body> <div align="Center"><h1>Каталог</h1></div> <div align="Center"><a href="/cgi-bin/index.cgi">Главная страница</a> | <a href="/cgi-bin/index.cgi?action=colour">Выбор по цвету</a> | <a href="/cgi-bin/index.cgi?action=all">Все телефоны</a> <br /> <hr /> <div align="Center">$out_str</div> <br /> <hr /> <center>Селин А.С., ФПК 3-3</center> </body> </html> [END] Скрипт работает,таблицы работают, но таблицы пустые. Когда на страничке нажимаю белый или черный цвет он меня переносит на пустую страничку !!!!! Хотя в БД таблица заполнена. |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
я делал по другому, и рекомендуеться использовать шаблончик
http://forum.vingrad.ru/forum/topic-217251.html попробуйте найти где именно ошибка, у меня таблицы такой нету, у себя попробовать не могу... |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |