mJournal
· Форум · Участники · Журналы · Случайный журнал ·
Главная -> Журналы -> Игорь_Vasinsky
PHP во сне и на яву
 
09 августа 2012
  23:27   Встала тут, передо мной, задача: необходимость
Встала тут, передо мной, задача: необходимость построения онлайн схем концертных залов, залов театров и прочее.

Задача не тупо набрасать html, а дать возможность, как админу: формировать билеты, пользователь - бронировать место или заказывать билет.

Решил выложить в pablic (хоть и алчная моя душёнка :lol: )

Сам брезгаю разметкой в php (функциях), но в данном примере функция принимает массив, а возрашать массив и циклить потом как то мне показалось не каширно, т.к. функция писалась вполне под конкретную задачу.

В итоге

Оригинал: http://koncertufa.ru/plans/plan.php?plan=10&key=1

Сама функция
всё. продаётся. skipe: igor.vasinsky price:600р.

Формирование массивов блоков рядов для зала
 <?php

$parter = array(
array(1,24,1),
array(1,28,2),
array(1,29,3),
array(1,31,4),
array(1,32,5),
array(1,33,6),
array(1,35,7),
array(1,36,8)
);


$backleftparter = array(
array(7,12,21)
);


$backrightparter = array(
array(1,6,21)
);


$center = array(
array(7,28,9),
array(7,31,10),
array(7,31,11),
array(7,31,12),
array(7,31,13),
array(7,31,14),
array(6,30,15),
array(6,30,16),
array(4,28,17),
array(3,27,18),
array(1,20,19),
array(1,20,20)
);


$leftcenter = array(
array(29,34,9),
array(32,37,10),
array(32,37,11),
array(32,37,12),
array(32,37,13),
array(32,37,14),
array(31,35,15),
array(31,35,16),
array(29,32,17),
array(29,28,18)
);


$rightcenter = array(
array(1,6,9),
array(1,6,10),
array(1,6,11),
array(1,6,12),
array(1,6,13),
array(1,6,14),
array(1,5,15),
array(1,5,16),
array(1,3,17),
array(1,2,18)
);


$balcony = array(
array(4,29,8),
array(4,19,9),
array(1,16,10),
array(1,14,11),
array(1,12,12)
);


$leftbalcony = array(
array(3,4,1),
array(4,6,2),
array(4,6,3),
array(4,6,4),
array(4,6,5),
array(4,6,6),
array(4,6,7),
array(30,32,8),
array(20,22,9)
);


$rightbalcony = array(
array(1,2,1),
array(1,3,2),
array(1,3,3),
array(1,3,4),
array(1,3,5),
array(1,3,6),
array(1,3,7),
array(1,3,8),
array(1,3,9)
);


?>

Построение схемы зала
<style> 
div.this{
border:1px solid gray;
width:20px;
height:20px;
background-color: green;
text-align: center;
color:white;
font-family:arial;
font-size:11px;
margin:2px;
display: inline-block;
cursor:pointer;
}
div.this:hover{
border:1px solid gray;
width:20px;
height:20px;
background-color: #E6E6E6;
text-align: center;
color:black;
font-family:arial;
font-size:11px;
margin:2px;
display: inline-block;
}
tr.balcony{
background-color: #F9FED9;
}
tr.parter{
background-color: #ECFEFE;
}
h1{
font-family:arial;
font-size:25px;
color:gray;
margin-top: 20px;
}
span.row{
font-family:arial;
font-size:11px;
color:gray;
margin-right:10px;
}
table.scheme td{
border:0px solid gray;
}
</style>
<
table class="scheme">
<
tr>
<
td colspan="3" align="center"><h1>Партер</h1></td>
</
tr>
<
tr class="parter">
<
td colspan="3" align="center"><?=getRows('Основной', $parter, 'Партер');?><br /></td>
</
tr>
<
tr class="parter">
<
td align="right" valign="top"><?=getRows('Основной', $leftcenter, 'Партер');?><br /></td>
<
td align="center">
<?=getRows('Основной', $center, 'Партер');?>
<table width="100%">
<
tr>
<
td width="20px"></td>
<
td align="right"><?=getRows('Основной', $backleftparter, 'Партер');?></td>
<
td width="10px"></td>
<
td align="left"><?=getRows('Основной', $backrightparter, 'Партер');?></td>
<
td width="20px"></td>
</
tr>
</
table>
</
td>
<
td align="left" valign="top"><?=getRows('Основной', $rightcenter, 'Партер');?></td>
</
tr>
<
tr>
<
td colspan="3" align="center"><h1>Балкон</h1></td>
</
tr>
<
tr class="balcony">
<
td align="right" valign="top"><?=getRows('Основной', $leftbalcony, 'Балкон');?></td>
<
td align="center" height="318px" valign="bottom"><?=getRows('Основной', $balcony, 'Балкон');?></td>
<
td align="left" valign="top"><?=getRows('Основной', $rightbalcony, 'Балкон');?></td>
</
tr>
</
table>

<
script type="text/javascript">
function getData(hall, row, place, block)
{
alert('Зал: '+ hall + ' Ряд: ' + row + ' Место: ' + place + ' Блок: ' + block);
}
</script>


Демо: http://vasinsky.koding.com/work/kongress-hall.php


| Цитата || Печать || Комментарии:0 |

 
Игорь_Vasinsky


★ЛжеЭксперт★


Регистрация 14.03.2010
E-mail Нет доступа
Приват Отправить
WWW Нет данных
ICQ Нет данных
Профиль Перейти
Рейтинг
Рейтинг: 4.4    Голосов: 18
Список друзей
inpost quickxyan sharki
TMake twin zvezda_t
ИНСИ
Календарь
ноябрь 2024
пн вт ср чт пт сб вс
        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  
Статистика
Просмотры
Сегодня: 1
Всего: 86453
Хосты
Сегодня: 1
Всего: 86429
Последний комментарий
[6] Отладка скриптов PHP...
16.12.2011 00:05
Написал: Игорь_Vasinsky
[4] Тернарный оператор (...
09.09.2011 13:49
Написал: Игорь_Vasinsky
[4] Загрузка картинки дл...
09.09.2011 13:09
Написал: Игорь_Vasinsky
[2] Зашита от F5 (повто...
21.03.2010 00:30
Написал: Игорь_Vasinsky