Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разработать программу-сценарий для сайта с использ 
:(
    Опции темы
Helples
Дата 17.7.2008, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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]




Скрипт работает,таблицы работают, но таблицы пустые. Когда на страничке нажимаю белый или черный цвет он меня переносит на пустую страничку !!!!! Хотя в БД таблица заполнена.
PM MAIL   Вверх
gcc
Дата 17.7.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



я делал по другому, и рекомендуеться использовать шаблончик
http://forum.vingrad.ru/forum/topic-217251.html

попробуйте найти где именно ошибка, у меня таблицы такой нету, у себя попробовать не могу...


PM WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3210 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.