Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Построение формы ввода / 6 сообщений из 6, страница 1 из 1
19.12.2005, 08:49
    #33443342
guest_Andrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построение формы ввода
Всем привет. У меня возникла проблемка при построении формы ввода. Я хочу построить такого рода форму:
Бензин Керосин Вода Уголь
Вологда 1252 4545 455 87
Киров 47 12 78
Москва 78 564 547 789
Заголовки строк и столбцов хранятся в разных таблицах и выводятся динамически. Их количество и содержание может быть разное. Вся проблема в том, как выводить на экран данные (эти циферки) и вводить их тоже (сохранять в таблицу БД).
У меня получается построить только форму вида:
Бензин
Вологда 1252
Киров 47
Москва 78
Подскажите как построить динамическую форму ввода, указанную наверху.
С уважением!
...
Рейтинг: 0 / 0
19.12.2005, 09:24
    #33443393
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построение формы ввода
А разве в школе уже не учат выводить двумерные массивы?
...
Рейтинг: 0 / 0
19.12.2005, 09:54
    #33443440
guest_Andrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построение формы ввода
Эх, если бы меня учили программировать, я бы, наверное, справился.
Чтобы вывести на экран форму ввода, состоящую из заголвка строки и значения строки, я писал функцию, которая выбирает данные из таблицы БД и рисует табличку:
$ee="";
while ($row = mysql_fetch_array($rs)) {
$ee = $ee."<TR><TD>".$row["ROW"]."</TD><TD><INPUT TYPE = 'text' VALUE = '".$row["SUM"]."'></TD>";
А нужно еще выводить значение строки в зависимости от значения заголовка столбца
...
Рейтинг: 0 / 0
19.12.2005, 13:18
    #33444054
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построение формы ввода
guest_AndreyЭх, если бы меня учили программировать, я бы, наверное, справился.Было бы желание... без комментариев. :)

Вот пример как сделать отчет. Правда скорее всего не совсем то, что нужно, т.к. вы сказали, что "данные выводятся динамически", а этот случай подойдет для известного кол-ва "столбцов":

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
drop table if exists t_fuel;

create table t_fuel (
 f_id int not null primary key,
 fuel varchar( 100 ) not null
);

insert into t_fuel values ( 1 , 'Бензин'), ( 2 , 'Керосин'), ( 3 , 'Уголь');


drop table if exists t_towns;

create table t_towns (
 t_id int not null primary key,
 town varchar( 255 ) not null
);

insert into t_towns values ( 1 , 'Вологда'), ( 2 , 'Киров'), ( 3 , 'Москва');


drop table if exists t_prices;

create table t_prices (
 p_id int not null auto_increment primary key,
 price int not null default  0 ,
 fuel_id int not null default  0 ,
 town_id int not null default  0 
);

insert into t_prices (price, fuel_id, town_id) values 
 ( 1252 ,  1 , 1 ), ( 4545 ,  2 ,  1 ), ( 87 ,  3 ,  1 ),
 ( 47 ,  1 ,  2 ), ( 12 ,  2 ,  2 ), ( 78 ,  3 ,  2 ),
 ( 78 ,  1 ,  3 ), ( 564 ,  2 ,  3 ), ( 789 ,  3 ,  3 );

Сам запрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select town, sum(gas) as gas, sum(kerosine) as kerosine, sum(coal) as coal
from 
 (select 
   t.town,
   t.t_id town_id,
   if (fuel_id= 1 , price,  0 ) as 'gas',
   if (fuel_id= 2 , price,  0 ) as 'kerosine',
   if (fuel_id= 3 , price,  0 ) as 'coal'
   from t_prices p, t_towns t
   where t.t_id=p.town_id
 ) x
group by town_id

Код: plaintext
1.
2.
3.
4.
5.
town        gas  kerosine  coal  
-------  ------  --------  ------
Вологда    1252      4545      87
Киров        47        12      78
Москва       78       564     789

В данном запросе конечно есть некоторые нюансы, но пока ничего лучшего в голову не пришло. Может кто-нибудь предложит более универсальный вариант.
...
Рейтинг: 0 / 0
19.12.2005, 13:27
    #33444083
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построение формы ввода
Небольшое замечание: данный запрос будет работать, начиная с версии MySQL 4.1.
...
Рейтинг: 0 / 0
19.12.2005, 16:29
    #33444656
guest_Andrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построение формы ввода
Идею понял. Спасибо. Буду дальше учиться программировать :)
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Построение формы ввода / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]