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

qq_20344933 2015-08-06 03:21:10

如图所示
本人想实现的功能就是
点多个菜品
之后选择单个包厢
之后点击提交订单
所选的选项的单价自动加和
然后把结果赋值给选择包厢的费用,也就是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>

菜品数据库结构如下图

包厢数据库结构如下图
...全文
207 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_20344933 2015-08-06
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
<input name="isOver1[]" type="checkbox" id="isOver1" value="{$caidanguanli.id}">点此菜品 菜品应能多选 查询时 $sql="select caipindanjia from renwu_caidanguanli where id in (" . join(',', $_POST['isOver1']) . ")"; 包厢 似应为单选钮。 复选钮也行,但是最下面的有效。容易产生纠纷
非常感谢 问题解决了 我用dump看了一下 发现是我自己的问题 做了一个for循环 然后就实现了 非常感谢版主大大
qq_20344933 2015-08-06
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
<input name="isOver1[]" type="checkbox" id="isOver1" value="{$caidanguanli.id}">点此菜品 菜品应能多选 查询时 $sql="select caipindanjia from renwu_caidanguanli where id in (" . join(',', $_POST['isOver1']) . ")"; 包厢 似应为单选钮。 复选钮也行,但是最下面的有效。容易产生纠纷
包厢已经改成单选 你说的很对 我之前没有考虑到 我尝试了您的代码 结果是随机的一个选项的单价 不是和
xuzuning 2015-08-06
  • 打赏
  • 举报
回复
<input name="isOver1[]" type="checkbox" id="isOver1" value="{$caidanguanli.id}">点此菜品 菜品应能多选 查询时 $sql="select caipindanjia from renwu_caidanguanli where id in (" . join(',', $_POST['isOver1']) . ")"; 包厢 似应为单选钮。 复选钮也行,但是最下面的有效。容易产生纠纷
不平衡电网下基于延时相消法(DSC)的T型三电平LCL逆变器(Simulink仿真实现)内容概要:本文针对不平衡电网条件下T型三电平LCL逆变器的并网性能问题,提出基于延时相消法(DSC)的序分量分离控制策略,并通过Simulink进行仿真实现。研究重点在于解决电网电压不平衡引起的负序分量导致的并网电流畸变、功率波动及系统不稳定等问题。通过DSC方法实现正负序分量的快速、精确分离,结合三电平逆变器的中点电位控制与LCL滤波器的谐振抑制,优化系统在非理想电网下的动态响应与稳态性能。文中详细阐述了控制策略的设计、仿真模型的构建及关键参数的整定,并通过仿真结果验证了该方法在抑制电流畸变、平衡功率输出和提升系统鲁棒性方面的有效性。; 适合人群:具备电力电子、自动控制或电气工程相关专业背景,熟悉Simulink仿真工具,从事新能源发电、逆变器控制或微电网系统研究的研发人员及高年级研究生。; 使用场景及目标:①研究不平衡电网下三电平逆变器的并网控制策略;②掌握延时相消法(DSC)在序分量分离中的应用;③学习LCL型逆变器的建模与控制方法;④提升在复杂工况下电力电子系统稳定性分析与仿真能力。; 阅读建议:建议读者结合Simulink模型同步学习,重点关注DSC模块的实现逻辑、序分量控制环路设计及中点电位平衡策略,同时可通过修改电网不平衡度、负载扰动等工况进行仿真验证,深入理解控制策略的适应性与鲁棒性。
内容概要:本文对认知无线电中的双阈值能量检测方法进行了系统性仿真研究,并提供了完整的Matlab代码实现。通过引入高低两个能量阈值,该方法在复杂无线环境中能够更精确地区分授权用户信号与噪声或干扰,显著提升了频谱感知的准确性与可靠性。研究深入分析了算法原理,构建了详细的仿真模型,并从多个维度评估其性能,尤其在低信噪比条件下展现出相比传统单阈值方法更为优越的检测能力。文章还系统探讨了不同参数配置对检测性能的影响,为实际系统中的参数优化和工程应用提供了理论依据和技术支持。; 适合人群:具备一定通信工程、信号处理及Matlab编程基础的高校研究生、科研人员以及从事无线通信技术研发的工程技术人员。; 使用场景及目标:①用于认知无线电系统中高性能频谱感知技术的研发与性能优化;②作为高校相关课程的教学案例,帮助学生深入理解能量检测原理及其改进算法的设计思路;③为科研工作者提供可复现、可扩展的Matlab仿真平台,以支持对新型频谱感知算法的进一步探索与验证。; 阅读建议:建议读者结合提供的Matlab代码逐行研读,重点理解双阈值的设计理念、判决逻辑的实现流程以及仿真结果的分析方法。在学习过程中,应积极动手调整信号参数(如信噪比、采样点数、阈值大小等),观察其对检测概率、虚警概率等关键指标的影响,从而深化对算法性能边界的认知。

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧