首頁 > 後端開發 > php教程 > 菜鸟提问:关于PHP与MySQL的小问题

菜鸟提问:关于PHP与MySQL的小问题

WBOY
發布: 2016-06-23 13:29:12
原創
831 人瀏覽過


如图所示
本人想实现的功能就是
点多个菜品
之后选择单个包厢
之后点击提交订单
所选的选项的单价自动加和
然后把结果赋值给选择包厢的费用,也就是jiesuan
PHP代码如下

<?php/***2015-08-06*点餐系统*/FLEA::loadClass('TMIS_Controller');class Controller_Renwu_diancai extends TMIS_Controller{	////定义全局变量 $_modelExample	//var $_modelExample;	function Controller_Renwu_diancai()	{		$this->_modelExample1=& FLEA::getSingleton('Model_Renwu_caidanguanli');		$this->_modelExample2=& FLEA::getSingleton('Model_Renwu_baoxiangguanli');	}	function actiondiancai()	{		$this->authCheck('9-3');		$this->_edit($row);	}	function _edit($arr)	{		$title='菜品点选';		/* 执行数据库操作 */		/* 数据库查询语句 */		$sql="select * from renwu_caidanguanli where shoumaizhuangtai='出售'";		$class_info1=$this->_modelExample1->findBySql($sql);		$temp= $this->_modelExample1->execute($sql);		/* 显示数据 */ 		$smarty = & $this->_getView();		/* 后加的一句 作用不详 */			$smarty->assign('class_info1',$class_info1);		/* 显示该网页模板 */		//$smarty->display("Renwu/caidanguanli.tpl");		$title='包厢点选';		/* 执行数据库操作 */		/* 数据库查询语句 */		$sql="select * from renwu_baoxiangguanli where baoxiangzhuangtai='空闲中'";		$class_info2=$this->_modelExample2->findBySql($sql);		$temp= $this->_modelExample2->execute($sql);		/* 显示数据 */ 		$smarty = & $this->_getView();		/* 后加的一句 作用不详 */			$smarty->assign('class_info2',$class_info2);		/* 显示该网页模板 */		$smarty->display("Renwu/diancai.tpl");	}	function actionChange(){		//根据选择菜品		$b=0;		$sql="select caipindanjia from renwu_caidanguanli where id='{$_POST['isOver1']}'";		// dump($sql);		//$this->_modelExample->execute($sql);		$temp= $this->_modelExample1->findBySql($sql);		// dump($temp);exit;		$a=$temp[0]['caipindanjia'];		$b=$b+$a;		dump($b);exit;		//临时菜品价格表		//$sql="update renwu_baoxiangguanli set jiesuan='$a' where id='{$_POST['isOver1']}'";		//$temp= $this->_modelExample1->execute($sql);		$sql="update renwu_baoxiangguanli set baoxiangzhuangtai='使用中' where id='{$_POST['isOver2']}'";		//$this->_modelExample->execute($sql);		$temp= $this->_modelExample2->execute($sql);		//$sql="delete from renwu_caidanguanli where id='{$_POST['isDel']}'";		//$this->_modelExample->execute($sql);		//$temp= $this->_modelExample->execute($sql);	    if($temp){		    js_alert(null,"window.parent.showMsg('保存成功!')",$this->_url('diancai'));	    }//else die('保存失败!');  	}}?>
登入後複製

tpl代码如下
<html>	<head>	<tr></tr>	<form action="{url controller=$smarty.get.controller action='Change'}" method="post">	</head>	<body>		<table cellspacing=0 bordercolordark=#FFFFFF width="90%" bordercolorlight=#000000 border=1 align="center" cellpadding="2">						<tr bgcolor="#6b8ba8" style="color:FFFFFF">		    	<td width="10%" align="center" valign="bottom" id="id" name="id" height="19">ID</td>    			<td width="20%" align="center" valign="bottom">菜品名称</td>			    <td width="10%" align="center" valign="bottom">菜品编号</td>    			<td width="10%" align="center" valign="bottom">菜品分类</td>			    <td width="10%" align="center" valign="bottom">菜品单价</td>		    	<td width="10%" align="center" valign="bottom">售卖状态</td>		    	<td width="20%" align="center" valign="bottom">选择菜品</td>			</tr>			{foreach from=$class_info1 item='caidanguanli'}			<tr>    			<td align="center" height="19">{$caidanguanli.id}</td>	    		<td align="center">{$caidanguanli.caipinmingcheng}</td>		    	<td align="center">{$caidanguanli.caipinbianhao}</td>    			<td align="center">{$caidanguanli.caipinzhonglei}</td>	    		<td align="center">{$caidanguanli.caipindanjia}</td>    			<td align="center">{$caidanguanli.shoumaizhuangtai}</td>    			<td>    			<input name="isOver1" type="checkbox" id="isOver1" value="{$caidanguanli.id}">点此菜品    			</td>			</tr>			{/foreach}		</table>		<p>菜品一次订购,概不退换</p>		<table cellspacing=0 bordercolordark=#FFFFFF width="90%" bordercolorlight=#000000 border=1 align="center" cellpadding="2">			<tr bgcolor="#6b8ba8" style="color:FFFFFF">		    	<td width="10%" align="center" valign="bottom" height="19">ID</td>    			<td width="20%" align="center" valign="bottom">包厢类型</td>			    <td width="10%" align="center" valign="bottom">包厢大小</td>    			<td width="10%" align="center" valign="bottom">包厢状态</td>			    <td width="20%" align="center" valign="bottom">包厢选择</td>			</tr>			{foreach from=$class_info2 item='baoxiangguanli'}			<tr>    			<td align="center" height="19">{$baoxiangguanli.id}</td>	    		<td align="center">{$baoxiangguanli.baoxiangleixing}</td>		    	<td align="center">{$baoxiangguanli.baoxiangdaxiao}</td>    			<td align="center">{$baoxiangguanli.baoxiangzhuangtai}</td>    			<td>    			<input name="isOver2" type="checkbox" id="isOver2" value="{$baoxiangguanli.id}">订此包厢    			</td>			</tr>			{/foreach}		</table>		<input type="submit" id="submit" name="submit" align="center" value='提交订单'>		<br />		</form>	</body></html>
登入後複製

菜品数据库结构如下图

包厢数据库结构如下图


回复讨论(解决方案)

点此菜品
菜品应能多选
查询时
$sql="select caipindanjia from renwu_caidanguanli where id in (" . join(',', $_POST['isOver1']) . ")";

包厢 似应为单选钮。
复选钮也行,但是最下面的有效。容易产生纠纷

点此菜品
菜品应能多选
查询时
$sql="select caipindanjia from renwu_caidanguanli where id in (" . join(',', $_POST['isOver1']) . ")";

包厢 似应为单选钮。
复选钮也行,但是最下面的有效。容易产生纠纷


包厢已经改成单选
你说的很对
我之前没有考虑到

我尝试了您的代码
结果是随机的一个选项的单价
不是和

点此菜品
菜品应能多选
查询时
$sql="select caipindanjia from renwu_caidanguanli where id in (" . join(',', $_POST['isOver1']) . ")";

包厢 似应为单选钮。
复选钮也行,但是最下面的有效。容易产生纠纷



非常感谢
问题解决了
我用dump看了一下
发现是我自己的问题
做了一个for循环
然后就实现了
非常感谢版主大大
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板