[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция построения схем концертных залов и т.д.
Игорь_Vasinsky
Встала тут, передо мной, задача: необходимость построения онлайн схем концертных залов, залов театров и прочее.

Задача не тупо набрасать 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://http://vasinsky.koding.com/work/kon...ing'>php</span>://http://vasinsky.koding.com/work/kon...hp</span>

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.