我正在尝试将在线电影预订系统作为我最终的证书项目......
我制作了一个剧院架构,我放置座位,当用户点击它们时,我让这些座位变色...
这是输出:http://img195.imageshack.us/img195/4740/94385271.png
即时通讯使用mysql(phpmyadmin)...我需要最好的方法将此页面连接到数据库,并在用户预订座位时随时更改座位状态...
我知道这很难,需要很多工作,但我只需要在某个地方开始形式......非常感谢任何帮助
谢谢
答案 0 :(得分:1)
您可以使用托管版本将其包含在标题中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript"></script>
然后你循环遍历每个座位,为每个座位申请一个id和类......
<div id="seat_1" class="seat selected"></div>
<div id="seat_2" class="seat"></div>
<div id="seat_3" class="seat"></div>
然后你可以在页面底部做这样的事情 -
<script type="text/javascript">
jQuery(function($){
$('.seat').on('click', function(){
var id = $(this).attr('id');
$.ajax({
url: "/path-to-your-php-script.php",
type: "POST",
data: {request:"toggleSeat", id:id},
dataType: "json",
success: function(data){
$('#' + id).removeClass('selected').addClass(data.class);
}
});
});
});
</script>
你的php可能看起来像这样:
<?php
if(isset($_POST['request']) && $_POST['request'] == 'toggleSeat')
{
// select your seat by the provided id
$id = $_POST['id'];
// sanitize this and pull from db. I will not show you how to do this
// since there are many ways and you need to choose for yourself
// and assuming you get back a db object assigned to $seat AND
// you have a column called status AND it is an enum or something string based...
if($seat->status == 'unavailable')
{
// change to available
// yes, this means running an update query.
$class = '';
}
else
{
// change to unavailable
// this is also an update query
$class = 'selected';
}
// encode a json array to pass back to js since we
// declared dataType as json
die(json_encode(array('class' => $class)));
}
?>
查看PDO或mysqli以了解数据库交互。不要使用mysql_函数,因为它们很糟糕并且已被弃用。
这应该足以让你前进。如果你有疑问,我可能会更新,但老实说,我们真的不做完整的指南或走过。通常,所有SO都是基本的QA和解决问题。你碰巧遇到了一个体面的人。