Задача не тупо набрасать 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