//从数据库中获取全部的数据展示在前台页面上生成菜单(menulist.html)
<form action="dingdan.php" method="post">
<div>菜单</div>
<table border="2" cellpadding="1" cellspacing="2">
<tr>
<th>勾选框</th>
<th>菜的照片</th>
<th>菜名</th>
<th>菜的单价</th>
<th>菜的份数</th>
</tr>
</table>
<input type="submit" name="submit" value="立即订餐">
</form>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
type:"post",
url:"listmenu.php",
data:{},
dataType:"json",
async:true,
success:function(data){
for(i in data){
var tr=document.createElement("tr");
tr.innerHTML="<td><input type='checkbox' name='menu_id[]' value='"+data[i]['Id']+"' /></td><td><img src='"+data[i]['pic']+" alt='lala'></td><td>"+data[i]['name']+"</td><td>¥"+data[i]['price']+"</td><td><input type="text" name='num_"+data[i]['Id']+"' /></td>";
$("table")[0].appendChild(tr);
}
}
});
</script>
//菜单页面的生成需要从menu数据表中读取数据(listmenu.php)
$link=mysqli_connect("localhost","root","","mydb");
if(mysqli_connect_errno($link)){
echo "错误号:".mysqli_connect_errno($link);
echo "</br>错误编码:网站错误,请联系管理员".mysqli_connect_errno($link);
exit;
}else{
mysqli_set_charset($link,"utf8");
}
$sql="select * from menu";
$result=mysqli_query($link,$sql);
//方法fetch_all返回结果集中所有的记录
//MYSQLI_ASSOC关联数组下标 || MYSQLI_NUM数字下标 || MYSQLI_BOTH数字下标和关联数组下标
$data=mysqli_fetch_all($result,MYSQLI_ASSOC);
echo json_encode($data);
mysqli_close($link);
//菜单页面提交订单数据给(dingdan.php),并把数据存储在orderlist数据表中
if(!empty($_POST['submit'])){
$menu_id=$_POST['menu_id'];
//打开数据库连接
$link=mysqli_connect("localhost","root","","mydb");
if(mysqli_connect_errno($link)){
echo "错误号:".mysqli_connect_errno($link);
echo "错误描述:网站错误,请联系管理员 ".mysqli_connect_errno($link);
exit;
}else{
mysqli_set_charset($link,"utf8");
}
foreach($menu_id as $key => $val){
$menuid=intval($val);
$amount=intval($_POST['num_.$menuid']);
//根据传过来的id值先查出整条记录
$sql="select name,price from menu where id=".$menuid;
$result=mysqli_query($link,$sql);
//此方法返回查找的记录结果,关联下标
$row=mysqli_fetch_assoc($result);
$fields=array(
'name'=>$row['name'],
'price'=>$row['price'],
'amount'=>$amount,
'createDate'=>date("Y-m-d H:i:s");
);
//定义一个函数用来插入数据记录
function insert($link,$fields,$table){
$sql="insert into ";
$sql.=$table." set ";
$string="";
foreach($fields as $key => $val){
$string.=$key."=".$val.",";
}
$string=trim($string,",");
$sql.=$string;
mysqli_query($link,$sql);
}
//然后调用该函数
insert($link,$fields,"orderlist");
}
}
//最终的结果就是在orderlist数据表中可以看到订餐数据记录。