商品信息的修改、删除功能

一   查询客户发布的信息

        你可以使用PHP和MySQL来查询客户发布的商品信息,并以表格方式显示。以下是一个简单的代码示例:

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}
// 查询客户发布的商品信息
$sql = "SELECT * FROM products WHERE customer_id = ".$_GET['customer_id'];
$result = $conn->query($sql);
// 显示查询结果
if ($result->num_rows > 0) {echo "<table>";echo "<tr><th>商品名称</th><th>价格</th><th>描述</th></tr>";while($row = $result->fetch_assoc()) {echo "<tr>";echo "<td>" . $row["product_name"] . "</td>";echo "<td>" . $row["price"] . "</td>";echo "<td>" . $row["description"] . "</td>";echo "<td><a href=\"edit.php?id=".$row["id"]."\">修改</a> <a href=\"delete.php?id=".$row["id"]."\">删除</a></td>";echo "</tr>";}echo "</table>";
} else {echo "没有查询到任何商品信息。";
}
$conn->close();
?>

        在该示例中,我们假设有一个名为 "database" 的数据库,并且在数据库中有一个名为 "products" 的表,该表包含以下列: product_id, product_name, price, customer_id。

        该代码使用GET请求获取客户的ID,并使用该ID来查询该客户发布的商品信息。查询结果将被输出到页面上。

        请注意,为了安全考虑,我们应该对从GET参数中获取的客户ID进行适当的验证和过滤,以防止SQL注入等攻击。这只是一个简单的示例,你需要根据自己的数据库表结构和字段名称进行相应的修改。

二   修改商品信息

下面是一个示例代码,

获取商品信息

<?php
// 数据库配置
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "my_database";// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);// 检查连接
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);
}// 接收表单传递的商品ID
$product_id = $_GET['product_id'];// 防止SQL注入,使用预处理语句
$stmt = $conn->prepare("SELECT * FROM products WHERE id = ?");
$stmt->bind_param("i", $product_id);// 执行查询
$stmt->execute();
$result = $stmt->get_result();// 检查是否有结果
if ($result->num_rows > 0) {// 输出数据while($row = $result->fetch_assoc()) {echo "<form action='update_product.php' method='post'>";echo "<input type='hidden' name='product_id' value='" . $row["id"] . "'>";echo "<p>ID: " . $row["id"] . "</p>";echo "<p>Name: <input type='text' name='name' value='" . $row["name"] . "'></p>";echo "<p>Price: <input type='text' name='price' value='" . $row["price"] . "'></p>";echo "<input type='submit' value='Update'>";echo "</form>";echo "<hr>";}
} else {echo "Product not found.";
}// 关闭语句
$stmt->close();// 关闭连接
$conn->close();
?>

修改商品信息:

//'update_product.php'
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);
}// 获取要修改的商品信息
$productId = $_POST['productId'];
$productName = $_POST['productName'];
$price = $_POST['price'];// 更新商品信息
$sql = "UPDATE products SET productName='$productName', price='$price' WHERE productId='$productId'";
if ($conn->query($sql) === TRUE) {echo "商品信息已成功修改";
} else {echo "Error: " . $sql . "<br>" . $conn->error;
}$conn->close();
?>

        上述代码假设你已经创建了一个名为 "products" 的商品表,其中包含 "productId"、"productName" 和 "price" 字段。用户通过表单提交需要修改的商品信息,包括商品ID、商品名称和价格,然后将其更新到数据库中。你可以根据自己的实际需求修改代码中的数据库连接信息和表字段名。

三  删除商品信息

逻辑删除示例:

```php
<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');// 检查连接是否成功
if (!$conn) {die("连接失败: " . mysqli_connect_error());
}// 逻辑删除商品
$sql = "UPDATE products SET is_deleted = 1 WHERE id = 1";if (mysqli_query($conn, $sql)) {echo "商品删除成功";
} else {echo "商品删除失败: " . mysqli_error($conn);
}// 关闭数据库连接
mysqli_close($conn);
?>
```

物理删除示例:

<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');// 检查连接是否成功
if (!$conn) {die("连接失败: " . mysqli_connect_error());
}// 物理删除商品
$sql = "DELETE FROM products WHERE id = 1";if (mysqli_query($conn, $sql)) {echo "商品删除成功";
} else {echo "商品删除失败: " . mysqli_error($conn);
}// 关闭数据库连接
mysqli_close($conn);
?>

        注意:以上示例中的`products`表是一个示例表名,请根据实际情况修改为你的数据库中的表名。`id = 1`是为了示例方便,你需要根据实际情况修改为你要删除的商品的条件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464683.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker 可用镜像服务地址(2024.10.31亲测可用)

1.错误 Error response from daemon: Get “https://registry-1.docker.io/v2/” 原因&#xff1a;镜像服务器地址不可用。 2.可用地址 编辑daemon.json&#xff1a; vi /etc/docker/daemon.json内容修改如下&#xff1a; {"registry-mirrors": ["https://…

【MySQL】深层理解索引及特性(重点)--下(12)

索引&#xff08;重点&#xff09; 1. 索引的作用2. 索引操作2.1 主键索引2.1.1 主键索引的特点2.1.2 创建主键索引 2.2 唯一键索引2.2.1 唯一键索引的特点2.2.2 唯一索引的创建 2.3 普通索引2.3.1 普通索引的特点2.3.2 普通索引的创建 2.4 全文索引2.4.1 全文索引的作用2.4.2 …

临街矩阵乘以自己转置的含义

总结: 临街矩阵* 邻接矩阵转置的(i,j) 位置表示有多少种线路从元素A跳转一条边最终落到元素j的路线. 这个也叫1_degree.

A010-基于SpringBoot的宠物健康咨询系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

DP3复现基础知识(一)—— Hydra 库

DP3 无论是 train 还是 eval 均使用了 Hydra 这一个python 库&#xff0c;这就有些代码在看的时候难以理解其通讯逻辑&#xff0c;例如&#xff1a; hydra.main(version_baseNone,config_pathstr(pathlib.Path(__file__).parent.joinpath(diffusion_policy_3d, config)) ) Hy…

记单词,不要迷信一种方法

记单词&#xff0c;不要迷信一种方法。因为&#xff0c;记单词的目的&#xff0c;就是记住单词呀。 哪一种方法能让你记住&#xff0c;快速、高效、长久地记住&#xff0c;你就使用哪种方法&#xff1b;而且&#xff0c;方法和方法之间&#xff0c;不见得是矛盾的呀。 我们举个…

【自动化利器】12个评估大语言模型(LLM)质量的自动化框架

LLM评估是指在人工智能系统中评估和改进语言和语言模型的过程。在人工智能领域&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;及相关领域&#xff0c;LLM评估具有至高无上的地位。通过评估语言生成和理解模型&#xff0c;LLM评估有助于细化人工智能驱动的语言相…

IO流篇(一、File)

目录 一、学习前言 二、文件简介 三、文件使用 1. 绝对路径 vs 相对路径 2. 路径分隔符 3. 属性&#xff08;字段&#xff09; 4. 构造方法 5. 常用方法 5.1. 获取文件的相关信息 5.2. 判断功能 5.3. 新建和删除 5.4. 文件的获取 5.5. 重命名文件 四、文件使用练习…

spring ai 入门 之 结构化输出 - 把大模型llm返回的内容转换成java bean

目录 ​编辑 将AI非结构化文本转换为特定格式数据的应用场景说明 Spring AI 介绍 &#xff1a;为Java开发者打造的AI应用开发框架 Qwen 介绍 &#xff1a; 一个国内领先的开源大模型 Spring AI Alibaba框架介绍 &#xff1a; 一个国内最好的spring ai实现 使用spring ai …

文心一言 VS 讯飞星火 VS chatgpt (383)-- 算法导论24.5 3题

三、对引理 24.10 的证明进行改善&#xff0c;使其可以处理最短路径权重为 ∞ ∞ ∞ 和 − ∞ -∞ −∞ 的情况。引理 24.10(三角不等式)的内容是&#xff1a;设 G ( V , E ) G(V,E) G(V,E) 为一个带权重的有向图&#xff0c;其权重函数由 w : E → R w:E→R w:E→R 给出&…

漫途焊机安全生产监管方案,提升安全生产管理水平!

随着智能制造时代的到来&#xff0c;企业安全生产管理的重要性日益凸显。特别是在现代工厂中&#xff0c;焊机的安全生产监管成为了一个不容忽视的重要环节。传统的焊机安全生产监管方式存在诸多不足&#xff0c;如人工巡检频率低、数据延迟、安全隐患发现不及时等问题。因此&a…

csp2024T3

题目大意&#xff1a;对于每个数而言&#xff0c;可以将其染成红或蓝&#xff0c;对于每一个数&#xff0c;定义其贡献为&#xff0c;当且仅当这个数最近的同色数与其相等&#xff0c;否则其贡献为0&#xff0c;求最大贡献和。 思路&#xff1a;考虑dp 1.考场20多分钟想的奇怪…

十六届蓝桥杯嵌入式资料 看这个就够了(附CSDN开源程序)

蓝桥杯嵌入式终极模板&#xff0c;简单配置&#xff0c;功能全面 一小时玩转蓝桥杯嵌入式开发版 除按键和 LED 其余模块都来自官方选手资料包 代码简洁工整&#xff0c;参数&#xff0c;函数体分模块&#xff0c;有非常详细的注释&#xff0c;初始化由 cubemx 生成 &#xff08…

【测试工具】Fastbot 客户端稳定性测试

背景 做这个主要为了发版之前提前发现崩溃&#xff0c;风险前置。适合客户端很重的业务。 优点&#xff1a;你不改动也能用&#xff0c; 维护成本不高。 缺点&#xff1a;容易进入H5页面无法返回&#xff0c;效果有限。 备注&#xff1a;我这边接手别人维护&#xff0c;公司…

苍穹外卖Bug集合

初始化后端项目运行出现以下问题 以上报错是因为maven和jdk版本不符合&#xff0c;需要将jdk改成17&#xff0c;mavne改成3.9.9

中国雕塑、

孙溟㠭浅析“印章” 印章又称“图章”&#xff0c;玺印起源商代&#xff0c;至少在春秋战国时已出现&#xff0c;因战国时代已普遍使用。 商玺 古玺是先秦印章的通称&#xff0c;秦始皇统一六国之后&#xff0c;皇帝用印称“璽&#xff08;玺&#xff09;”&…

Android App 技能在DuerOS的调试方法

温故知新&#xff0c;我们先回顾一下DuerOS的技能分类。根据不同的视角可以对DuerOS 目前支持的技能类型进行不同的分类&#xff0c;例如&#xff0c;从用户与技能的语音交互方式来看&#xff0c; 可以将技能分为这四种技能类型: L1技能&#xff1a;只支持语音的打开和关闭L2技…

Ghidra无头模式(自动化批处理执行重复性任务)

Ghidra无头模式&#xff08;自动化批处理执行重复性任务&#xff09; 与Ghidra GUI探索单个项目中的单个文件不同&#xff0c;Ghidra headless analyzer&#xff08;Ghidra无头分析器&#xff09;更加适合批处理和用脚本控制Ghidra。 &#xff08;一&#xff09;启动analyzeHea…

ES海量数据插入如何优化性能?

2024年10月NJSD技术盛典暨第十届NJSD软件开发者大会、第八届IAS互联网架构大会在南京召开。百度文心快码总经理臧志分享了《AI原生研发新范式的实践与思考》&#xff0c;探讨了大模型赋能下的研发变革及如何在公司和行业中落地&#xff0c;AI原生研发新范式的内涵和推动经验。 …

el-date-picker日期选择器动态设置日期

需求&#xff1a;选择开始时间&#xff0c;或者在开始时间已存在的情况下&#xff1b;结束时间下拉日期选择框展示从开始日期展示&#xff1b;而不是当前日期&#xff0c;并且结束时间下拉框日期要禁用开始时间之前的日期。 <el-form-item label"开始时间" prop&q…