Heim > Backend-Entwicklung > PHP-Tutorial > 菜鸟提问:关于PHP与MySQL的小问题

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

WBOY
Freigeben: 2016-06-23 13:29:12
Original
832 Leute haben es durchsucht


如图所示
本人想实现的功能就是
点多个菜品
之后选择单个包厢
之后点击提交订单
所选的选项的单价自动加和
然后把结果赋值给选择包厢的费用,也就是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('保存失败!');  	}}?>
Nach dem Login kopieren

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>
Nach dem Login kopieren

菜品数据库结构如下图

包厢数据库结构如下图


回复讨论(解决方案)

点此菜品
菜品应能多选
查询时
$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循环
然后就实现了
非常感谢版主大大
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage