Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除表中的行- MySQL、PHP、HTML

删除表中的行- MySQL、PHP、HTML
EN

Stack Overflow用户
提问于 2015-11-27 14:01:05
回答 2查看 2.1K关注 0票数 0

我有一个HTML表显示来自MySQL数据库的数据。我想添加一个"delete row“按钮,这样只要点击一下,我就可以从数据库表中删除一行(数据链接到成员的ID)。

我可以看到SQL应该做什么,但我不知道如何用PHP实现它。

我还有一个搜索页面,您可以通过输入成员的名字来搜索他们,我也想在搜索页面中添加相同的删除功能。

但是现在我想让它在HTML表上工作,该表首先显示所有的数据!

下面是我的代码(减去与数据库的连接和断开以及所有这些):

代码语言:javascript
运行
AI代码解释
复制
// Retrieve Member Details
$sql = "SELECT MemberID, FirstName, Surname, DOB, Address, County, 
               PostCode, MobileNo, Email FROM Members";
$result = mysql_query($sql, $connection);

//create table
echo "<table>";

// Loop through the data and then display chosen data
echo "<h2>Member Details</h2>";
echo "<tr><th>Member ID</th><th>First Name</th><th>Surname</th>
      <th>DOB</th><th>Address</th><th>County</th><th>Post Code</th>
      <th>Mobile Number</th><th>Email</th><tr>";
while($a_row = mysql_fetch_assoc($result))
    echo "<tr><td>" . $a_row['MemberID']
        . "</td><td>" . $a_row['FirstName']
        . "</td><td>" . $a_row['Surname']
        . "</td><td>" . $a_row['DOB']
        . "</td><td>" . $a_row['Address']
        . "</td><td>" . $a_row['County']
        . "</td><td>" . $a_row['PostCode']
        . "</td><td>" . $a_row['MobileNo']
        . "</td><td>" . $a_row['Email']
        . "</td><tr>";                                       
//close table
echo "</table>";

搜索页代码:

代码语言:javascript
运行
AI代码解释
复制
<?php
  // Connecting to Database Server
  $connection = mysql_connect("localhost", "1520621",

  // If connection cannot be made to Database Server
  if (!$connection)
    die("Cannot connect to Database");

  // Select the database
  mysql_select_db("db1520621", $connection)
    // If Database cannot be found
    or die("Cannot find Database");

  // SQL
  // Select all data from Members table where FirstName matches that which is inserted into searchName using POST  
  $sql ="SELECT * FROM Members";
  $sql.=" WHERE FirstName=\"".$_POST["searchName"]."\"";

  // Execute the query
  $queryResult=mysql_query($sql);

  //Check for errors and display following messages if there is
  if (mysql_error())
  {
    echo "Problem with Query<br>";
    echo "The following error message was returned from MySQL:<br>";
    echo mysql_error();
    exit;
  }

  //Create table
  echo "<table>";
  echo "<h2>Member Details</h2>";
  echo "<tr><th>First Name</th><th>Surname</th><th>DOB</th><th>Address</th><th>County</th><th>Post Code</th><th>Mobile Number</th><th>Email</th><tr>";

  // If no results found show message. If results found, loop if there is more than 1 result
  if (mysql_num_rows($queryResult)==0)
  {
    echo "No members with that name";
  }
  else
  {
    while ($dbRecord=mysql_fetch_array($queryResult))
    {
      echo "<tr><td>".$dbRecord["FirstName"]."</td><td>".$dbRecord["Surname"]."</td><td>".$dbRecord["DOB"]."</td><td>".$dbRecord["Address"]."</td><td>".$dbRecord["County"]."</td><td>".$dbRecord["PostCode"]."</td><td>".$dbRecord["MobileNo"]."</td><td>".$dbRecord["Email"]."</td></tr>";
    }
  }

  // Close connection to Database
  mysql_close($connection);
  ?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-27 14:26:56

以下是从数据库中删除行的完整代码。首先,您必须添加删除链接并传递要删除的成员id。

代码语言:javascript
运行
AI代码解释
复制
// Check if delete button is clicked and delete respective row
if(isset($_GET['DeleteID']) AND !empty($_GET['DeleteID']))
    mysql_query("DELETE FROM Members where MemberID = '".$_GET['DeleteID']."'", $connection);

// Retrieve Member Details
$sql = "SELECT MemberID, FirstName, Surname, DOB, Address, County, PostCode, MobileNo, Email FROM Members";
$result = mysql_query($sql, $connection);

//create table
echo "<table>";

// Loop through the data and then display chosen data
echo "<h2>Member Details</h2>";
echo "<tr><th>Member ID</th><th>First Name</th><th>Surname</th><th>DOB</th><th>Address</th><th>County</th><th>Post Code</th><th>Mobile Number</th><th>Email</th><th>Delete</th><tr>";
while($a_row = mysql_fetch_assoc($result)){
    echo "<tr><td>" . $a_row['MemberID'] . "</td><td>" . $a_row['FirstName'] . "</td><td>" . $a_row['Surname'] . "</td><td>" . $a_row['DOB'] . "</td><td>" . $a_row['Address'] . "</td><td>" . $a_row['County'] . "</td><td>" . $a_row['PostCode'] . "</td><td>" . $a_row['MobileNo'] . "</td><td>" . $a_row['Email'] . "</td>";
    echo "<td><a href='?DeleteID=" . $a_row['MemberID'] . "' onclick=\"return confirm('Delete?')\">Delete</a></td></tr>";
}
//close table
echo "</table>";

搜索页码

代码语言:javascript
运行
AI代码解释
复制
<?php
    // Connecting to Database Server
    $connection = mysql_connect("localhost", "1520621", "w9p1n5");

    // If connection cannot be made to Database Server
    if (!$connection)
    die("Cannot connect to Database");

    // Select the database
    mysql_select_db("db1520621", $connection)
        // If Database cannot be found
        or die("Cannot find Database");

    // SQL
    if(isset($_GET['DeleteID']) AND !empty($_GET['DeleteID']))
    mysql_query("DELETE FROM Members where MemberID = '".$_GET['DeleteID']."'", $connection);

    // Select all data from Members table where FirstName matches that which is inserted into searchName using POST  
    $sql ="SELECT * FROM Members";
    $sql.=" WHERE FirstName=\"".$_REQUEST["searchName"]."\"";

    // Execute the query
    $queryResult=mysql_query($sql);

    //Check for errors and display following messages if there is
    if (mysql_error())
    {
        echo "Problem with Query<br>";
        echo "The following error message was returned from MySQL:<br>";
        echo mysql_error();
        exit;
    }

    //Create table
    echo "<table>";
    echo "<h2>Member Details</h2>";
    echo "<tr><th>First Name</th><th>Surname</th><th>DOB</th><th>Address</th><th>County</th><th>Post Code</th><th>Mobile Number</th><th>Email</th><tr>";

    // If no results found show message. If results found, loop if there is more than 1 result
    if (mysql_num_rows($queryResult)==0)
    {
        echo "No members with that name";
    }
    else
    {
        while ($dbRecord=mysql_fetch_array($queryResult))
        {
          echo "<tr><td>".$dbRecord["FirstName"]."</td><td>".$dbRecord["Surname"]."</td><td>".$dbRecord["DOB"]."</td><td>".$dbRecord["Address"]."</td><td>".$dbRecord["County"]."</td><td>".$dbRecord["PostCode"]."</td><td>".$dbRecord["MobileNo"]."</td><td>".$dbRecord["Email"]."</td>";
          echo "<td><a href='?DeleteID=" . $dbRecord['MemberID'] .(isset($_REQUEST['searchName'])?'&searchName='.$_REQUEST['searchName']:''). "' onclick=\"return confirm('Delete?')\">Delete</a></td></tr>";
        }
    }

    // Close connection to Database
    mysql_close($connection);
?>
票数 0
EN

Stack Overflow用户

发布于 2015-11-27 14:21:24

您应该使用PHP (http://php.net/manual/en/ref.pdo-mysql.php)或MySQLi (http://php.net/manual/en/book.mysqli.php)。

回显线上的结束<tr>表没有关闭(</tr>),这可能会扰乱HTML。

用于删除的SQL查询:

代码语言:javascript
运行
AI代码解释
复制
$query = sprintf("DELETE FROM Members WHERE MemberID = '%s'",
mysql_real_escape_string($member_id));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33965292

复制
相关文章
转型架构师之路——郑天民
架构师是一个综合性的角色,需要熟练掌握架构设计方法和开发技术,同时具备良好的组织管理能力。在第2篇《深入剖析架构师角色》中我们分析了架构师的主要职责和所开展的活动,无论这些活动是偏向技术还是偏向管理,架构师都处于一个特定的环境中,活动的开展也不是架构师一个人的战斗,需要与他人进行协作和交互。因此,除了各种专业的业务技能之外,架构师还需要掌握一些额外的技能。
Java天坑
2018/10/10
7790
转型架构师之路——郑天民
架构师之路
又快接近年底了,正好今天有空,想写一下一个合格的架构师需要知道哪些东西。下面我整理了一下,重看一边:
爱撸猫的杰
2019/12/10
8161
架构师的成长之路
Architect,即架构一词可以溯源到希腊语ἀρχιτέκτων , 指的是建筑的规划,设计和建造过程和结果。现在也用于指系统的网络,软件,硬件的规划,设计和搭建过程。所以架构师就是从事架构设计的人。
BUG弄潮儿
2020/09/28
6440
架构师的成长之路
架构师的职责是什么?
在当今时代,随着信息技术的不断发展,各种软件系统和应用程序变得越来越复杂,其架构设计和开发难度也越来越大。因此,架构师的作用和重要性也越来越受到关注。架构师是一个拥有丰富经验和广泛技术视野的高级职位,主要负责设计、构建和维护各种软件系统的架构,以满足业务需求和技术要求,同时为公司提供技术支持和解决方案。
coderidea
2023/05/17
2K0
架构师的职责是什么?
架构师之路一-架构师入门指引
导读:本系列文章教你怎么样成为一名架构师,而本篇文章则带你先认识一下什么是架构师,架构师的工作是什么?
JAVA日知录
2020/03/12
3.4K0
架构师之路 - 存储架构
架构师在做架构设计时一定绕不开存储的设计,本文我们一起来了解一下存储的相关知识。主要内容包括存储使用方式、常见协议、链接方式以及分布式存储架构中的典型架构案例。
JAVA日知录
2020/09/24
1.6K0
架构师之路 - 存储架构
架构师之路--谈架构师的基本素养和[干货]日志处理
  由于前两篇文章的关系,最近收到很多朋友的反馈和私信,谈如何成长为一个架构师的问题。在这之前我很少有时间去考虑这个问题,因为我总有做不完的事儿:看不完的书,解决不完的问题,干不完的活儿……  不是我干活儿慢,实际情况恰恰相反。但是我总是能给自己找很多的事情。我的桌面上有好几个txt,里面记录着各个方面要做的事情,看书过程中发现的问题等等。去年有一段时间很闲,我每天干着公司里的活儿,自己创着业,一天还要写一两篇专利,还是感觉很闲。其实就是想的少,做的不够细。而一个人能给自己找到多少要做的事情才是一个人真正的
静儿
2018/07/02
6390
架构师之路--谈业务的合理架构
  奶奶从路边捡来一只小鸡。它总是喳喳的叫,但是周末我坐在那里的时候,它就会蹲在我脚上,很安详的样子。然后小鲜肉就过来说:麻麻,我好想吓唬它。小鸡被吓的到处乱串。我说了挺多话没法让小鲜肉停下来。我就叹了口气在那里看着。一个5岁的孩子本来就不具备换位思考的能力。还有一个问题,我其实根本不知道小鸡是怎样想的。只是觉得它趴在我脚上的时候很安心很安静。晚上下班我会把手伸到笼子里陪它待一会儿,因为我想它是很想自己的妈妈的。   本文首发于静儿1986的博客,原文地址是http://www.cnblogs.com/xi
静儿
2018/07/02
3490
架构师之路:星环大数据架构师的培训心得
2020年3月,有幸参与了星环科技大数据架构师的培训认证。在范颖捷老师的授课中,感慨颇多。今天我根据学习到的部分知识谈谈自己的心得体会。
潘永斌
2020/04/08
1.3K0
架构师之路:星环大数据架构师的培训心得
【转载】java架构师进阶之路
Java架构师,应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力和提出解决方案能力了。
小勇DW3
2018/08/30
1.8K0
【转载】java架构师进阶之路
架构师之路-https底层原理
先说说我对架构师的理解。从业务能力上,需要的是发现问题和解决问题的能力;从团队建设上,需要的是能培养团队的业务能力;从项目管理上,把控好整个项目和软件产品的全生命周期。
静儿
2021/10/29
9900
架构师之路-https底层原理
架构师成长之路系列(二)
行存,可以看做 NSM (N-ary Storage Model) 组织形式,一直伴随着关系型数据库,对于 OLTP 场景友好,例如 innodb[1] 的 B+ 树聚簇索引,每个 Page 中包含若干排序好的行,可以很好的支持 tuple-at-a-time 式的点查以及更新等;而列存 (Column-oriented Storage),经历了早期的 DSM (Decomposition Storage Model) [2],以及后来提出的 PAX (Partition Attributes Cross) 尝试混合 NSM 和 DSM,在 C-Store 论文 [3] 后逐渐被人熟知,用于 OLAP,分析型不同于交易场景,存储 IO 往往是瓶颈,而列存可以只读取需要的列,跳过无用数据,避免 IO 放大,同质数据存储更紧凑,编码压缩友好,这些优势可以减少 IO,进而提高性能。
数字悠客
2020/09/29
9950
架构评估-架构师之路(十二)
2、可靠性:在意外或错误使用情况下维持软件系统功能特征。如MTTF、MTBF、MTTR。
keying
2023/09/05
5850
架构评估-架构师之路(十二)
政策推动企业数字化转型,Banber助力转型之路
在数据可视化已经成为企业不可或缺因素的今天,各个企业每天都需要在海量的企业运营数据中挖掘出业务运营的分析和见解,并且在此基础上提供运营的决策建议。怎样通过数字化的手段帮助业务转型,其实对企业来说是非常大的一个挑战,也是非常大的一个机遇。
Banber可视化云平台
2021/08/25
6220
数字化转型的本质是什么?
后疫情时代,数字化转型成了每个企业的必答题,大家都知道要进行数字化转型,但是很多传统的企业不知道如何开始,或者一些先驱者已经开始了转型,但是80%的数字化转型都以失败告终。数字化转型对于企业来说,是方向正确的事情,但具体怎么做,如何做需要对数字化转型的本质有个清楚的认知后,谋定才可以后动。关于数字化转型的文章铺天盖地,比如数字化转型就是企业价值体系的重构和商业模式的变革,再比如,数字化转型是一把手工程需要CEO亲自操刀制定战略,CDO执行等等,这些读起来都过于抽象和晦涩。所以,想站在数据产品经理的视角,更加通俗和直观地解释下数字化转型的本质。
数据干饭人
2022/11/17
6151
全能进化:多栈开发的转型之路
在这个快速发展的数字时代,技术的更新换代如同潮水般汹涌。对于技术人员而言,掌握多栈(Full Stack)开发技能不仅能够增强个人竞争力,也是适应行业发展趋势的必然选择。本文将为希望转型成为多栈开发者的朋友们提供一些建议,并探讨多栈开发的前景。
用户11372826
2024/11/20
2000
架构师之路—理解设计模式
在《周期》中作者这样描述过模式:“人类必须生活在现实世界中。我们寻找模式和规律,能够让我们活得更加舒服,也获利更多。”
coderidea
2022/06/08
2390
架构师成长之路系列(一)
Architect,即架构一词可以溯源到希腊语ἀρχιτέκτων , 指的是建筑的规划,设计和建造过程和结果。现在也用于指系统的网络,软件,硬件的规划,设计和搭建过程。所以架构师就是从事架构设计的人。
数字悠客
2020/09/18
6410
【笔记】架构师思维养成之路
最近在某客上学习了一下郭东白老师的架构课,郭东白老师是原来阿里P10,是云计算和国际化电商平台领域的资深专家,他完整讲述了自身作为架构师该如何设计架构,以及对架构师的一些思考。整个囫囵吞枣般看完,好似虚竹一般,虽获得无崖子70年功力,但如何打出妙招,少侠我还多需努力。
于顾而言SASE
2024/05/15
1250
【笔记】架构师思维养成之路
点击加载更多

相似问题

产品架构师转型到企业架构师需要哪些技能?

135

Java后端开发如何转型为架构师?

024

AI 浪潮下架构师应该如何转型?如何坚守?

021

架构师和CTO的差距是什么?

138

成长为架构师的路径是什么?

017
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档