php - 添加按钮更改 php 中一个字段的功能

标签 php mysql

我从 MySQL 数据库中获取了所有数据并将其放入一个数组中。显示数据后,我需要添加一个按钮,该按钮将在每个订单后显示,单击该按钮时会将订单的“状态”字段从“不完整”更新为“完成”。下面是到目前为止的代码。

    <?php 
 // Connects to your Database 
 mysql_connect("localhost", "root", "root") or die(mysql_error()) ; 
 mysql_select_db("orders_db") or die(mysql_error()) ; 

 //Retrieves data from MySQL 
 $data = mysql_query("SELECT * FROM orders") or die(mysql_error());  //Puts it into an array 
 while($info = mysql_fetch_array( $data )) 
 { 

 //Outputs the data

 Echo "<h2> Order For: ".$info['name'] . "</h2> "; 

  if ($info['year']=="Staff member") {
     Echo "".$info['year'] . " <br>"; 
     } else {
      Echo "Year: ".$info['year'] . " <br>"; 
      }

 if ($info['id']=="Cash/Eftpos") {
     Echo "Payment via: ".$info['id'] . " <br>"; 
     } else {
      Echo "Payment charged to Student account: ".$info['id'] . " <br>"; 
      }

 Echo "Collection Time: ".$info['time'] . " <br>"; 
 Echo "Beverage Type: ".$info['beverage'] . " <br>"; 
 Echo "status: ".$info['status'] . " <hr>";

 }

?> 

谢谢。

最佳答案

您可能希望将该按钮设为表单中的提交按钮,该表单具有包含该订单 ID 的隐藏字段,或者该表的主键是什么。然后,在表单提交到的文件中,您需要获取该表单的 ID,如下所示(假设您要发布数据):

$id = mysql_real_escape_string($_POST['id']);

然后使用 MySQL 的 UPDATE 更新该行,如下所示:

$sql = "UPDATE orders SET status = 'complete' WHERE id = {$id}";
mysql_query($sql);

您将希望此文件输出一些成功消息或将您重定向回订单列表页面。任何在您的流程中有意义的内容。

另外:

您的代码和架构存在许多问题。我建议将您的数据库连接逻辑移动到一个单独的文件中,您可以在连接到数据库时加载该文件。这样,您的数据库凭据就位于一个位置,如果它们发生更改,您只需在那里进行更改即可。有一点学习曲线,但我也会研究 MVC 架构,也许使用像 Laravel 这样的框架。或Code Igniter 。从长远来看,这确实有助于您的工作流程,并使创建网络应用程序变得更加干净且更易于维护。

此外,echo 通常不大写。我读过Zend's Coding conventions 。 Zend 是 PHP 引擎的重要贡献者,他们创建了 the most used PHP framework .

最后,查看 PHP mysqli extension ,它是 PHP mysql 连接逻辑的更现代的实现,并且根据您运行的版本,直接 mysql 扩展甚至可能被弃用。基本的东西几乎是一对一的转换,所以不应该有任何新的东西需要学习。

关于php - 添加按钮更改 php 中一个字段的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18294976/

相关文章:

php - 如何仅以一种形式在2个表中添加数据

php - 给PDF添加动态水印

php - 你能从 PHP 循环中调用 JavaScript 函数吗?

sql - MySQL 使用 OR 执行多个查询

mysql - 如何使用 Propel 生成 SQL,在添加所有表后添加约束

java.lang.ClassCastException : org. hibernate.type.DateType 无法转换为 org.hibernate.type.VersionType

php - INSERT 语句之谜——mysql_query 返回 true,但数据库中没有新行出现

php - 如何以编程方式使用 PHP 增加 CSS ID

php - 针对 PHP 数据检索进行优化的 MySQL 数据库设计

python - 使用 flask-reSTLess 出现 404 错误