powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Построение формы ввода
6 сообщений из 6, страница 1 из 1
Построение формы ввода
    #33443342
guest_Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. У меня возникла проблемка при построении формы ввода. Я хочу построить такого рода форму:
Бензин Керосин Вода Уголь
Вологда 1252 4545 455 87
Киров 47 12 78
Москва 78 564 547 789
Заголовки строк и столбцов хранятся в разных таблицах и выводятся динамически. Их количество и содержание может быть разное. Вся проблема в том, как выводить на экран данные (эти циферки) и вводить их тоже (сохранять в таблицу БД).
У меня получается построить только форму вида:
Бензин
Вологда 1252
Киров 47
Москва 78
Подскажите как построить динамическую форму ввода, указанную наверху.
С уважением!
...
Рейтинг: 0 / 0
Построение формы ввода
    #33443393
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А разве в школе уже не учат выводить двумерные массивы?
...
Рейтинг: 0 / 0
Построение формы ввода
    #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
Построение формы ввода
    #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
Построение формы ввода
    #33444083
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Небольшое замечание: данный запрос будет работать, начиная с версии MySQL 4.1.
...
Рейтинг: 0 / 0
Построение формы ввода
    #33444656
guest_Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Идею понял. Спасибо. Буду дальше учиться программировать :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Построение формы ввода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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