2010-06-16 50 views
0

此菜单需要每天更新。我想使用PHP从菜单中添加和删除项目

<html><head></head><body> 
<h1> Welcome to Burgerama </h1> 

<?php include("menuBuilder.php"); 
showBurgerMenu(); 
?> 

</body></html> 

菜单项存储在数据库中。项目有一个显示字段;如果它打开,该项目应显示在菜单上。菜单一次只显示4或5个“特色菜单”,管理员需要轻松更改菜单项目。我想编一个像这样的菜单编辑页面:

<?php include("burger_queries.php"); 
dbconnect("burger_database"); 

foreach($menuItem in burger_database) 
{ 
    echo createToggleButton($menuItem); 
} 
?> 

..每个菜单项都有一个切换按钮。理想情况下,该按钮将被标记为菜单项,如果项目为“开”,则为蓝色,如果项目为“关”,则为红色。点击按钮在“开”和“关”之间切换

我被困在尝试获取按钮来执行其相应菜单项上的更新查询。

回答

1

要做到这一点,每个按钮都需要发送一个表单,然后执行该脚本,使用ajax或定期刷新。的HTML应该是什么样子的禁用按钮的一个例子称为字段1会是这样:

<form id='testform' action='test.php' method='post'> 
<input type='hidden' name='who' value='field_1' /> 
<input type='hidden' name='what' value='enable' /> 
<div class='disabled' onclick='testform.submit()'>Field 1</div> 
</form> 

注意,它有一个包含你的PHP代码所需要的信息,知道哪些领域需要两个隐藏字段行动以及这些行动是什么。另请参阅我已将一个类添加到div容器中,该容器将使用css进行自定义,以实现所需的红色或蓝色背景色。尽管您可能想要进一步设计风格,但可以使用padding:10px;background-color:red;这样的简单操作。发送我们使用的表格javascript,但是如果您愿意,您可以替换提交按钮的div。

为了测试,如果这个工程,将以下代码在文件的开头:

if(!empty($_POST)){ 
if(!empty($_POST['who']) && !empty($_POST['what'])){ 
    switch($_POST['what']){ 
    case 'enable': 
     echo 'Actions to enable field '.$_POST['who']; 
    break; 
    case 'disable': 
     echo 'Actions to disable field '.$_POST['who']; 
    break; 
    } 
} 
} 

这可以让你在正确的时间执行你的按钮更新查询。请注意,如果您不打算使用ajax,则应该先刷新页面,然后才能看到更新的效果。

因为我假设你有基本的知识并且能够扣除它,所以我不会再深入了解如何从php构建html示例。

希望它有帮助,祝你有美好的一天。

0

该按钮应提交表单或执行AJAX请求,该请求由PHP脚本处理。该表格包含要切换的产品的标识符。脚本然后执行更新查询,更新此产品。

0

如果我正确理解这个问题,你的问题是你想要一个按钮来运行一个执行UPDATE查询的方法,这意味着问题是基于HTML的,是正确的?不幸的是,我的PHP很生疏,所以我不能给出很好的方法本身的建议,但HTML按钮应该有(除runat="server"之外)属性OnClick="MenuMethod",MenuMethod是UPDATE查询的方法,它应该在你的“burger_queries.php”页面找到。

此外,将AutoPostback="true"属性放置在按钮中可能是个好主意,这样一旦按下按钮,菜单就会自动更新。

+0

呃。 。 。 runat =“server”和AutoPostback =“true”是ASP.NET特有的。 – andrewWinn 2010-06-16 12:42:25

相关问题