database 相关问题

数据库是有组织的数据集合。它是模式,表,查询,报告,视图和其他对象的集合。通常组织数据以便以支持需要信息的过程的方式对现实的各个方面进行建模。如果您对设计数据库有疑问,请使用此标记。如果它是关于特定的数据库管理系统(例如,MySQL),请改用该标签。

使用 contentEditable 属性使用 JavaScript 编辑表格

编辑数据并单击保存更改按钮后,屏幕中的数据发生更改,但数据库中的数据并未更新 编辑数据并单击保存更改按钮后,屏幕中的数据发生更改,但数据库中并未更新 <?php $con = mysqli_connect("localhost", "root", "", "myDB"); if (!$con) { die("Connection failed: " . mysqli_connect_error()); } if ($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST['data'])) { $data = json_decode($_POST['data'], true); foreach ($data as $row) { $vegName = htmlspecialchars($row['vegName']); $price = htmlspecialchars($row['price']); $isnew = $row['isnew']; $id = intval($row['id']); if ($isnew === 'true') { $query = "INSERT INTO priceList (vegetable, price) VALUES (?, ?)"; $stmt = mysqli_prepare($con, $query); if (!$stmt) { echo "Prepare failed: (" . mysqli_error($con) . ")"; continue; } mysqli_stmt_bind_param($stmt, "ss", $vegName, $price); } else { $query = "UPDATE priceList SET vegetable = ?, price = ? WHERE id = ?"; $stmt = mysqli_prepare($con, $query); if (!$stmt) { echo "Prepare failed: (" . mysqli_error($con) . ")"; continue; } mysqli_stmt_bind_param($stmt, "ssi", $vegName, $price, $id); } if (!mysqli_stmt_execute($stmt)) { echo "Execute failed: (" . mysqli_stmt_error($stmt) . ")"; } else { echo "Changes saved for $vegName!"; } mysqli_stmt_close($stmt); } exit; } ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vegetable Price List</title> <style> table, th, td { border: 1px solid black; border-collapse: collapse; padding: 10px; text-align: left; } </style> </head> <body style="background-color:#FAEBD7"> <div> <h1>Vegetable Price List</h1> <table id="vegTable"> <tr> <th>ID</th> <th>Vegetable</th> <th>Price</th> </tr> <?php $sql = "SELECT vegetable, price, id FROM priceList"; $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { echo "<tr data-isnew='false'> <td contenteditable='true'>" . htmlspecialchars($row["id"]) . "</td> <td contenteditable='true' data-vegname='" . htmlspecialchars($row["vegetable"]) . "'>" . htmlspecialchars($row["vegetable"]) . "</td> <td contenteditable='true'>" . htmlspecialchars($row["price"]) . "</td> </tr>"; } } else { echo "<tr><td colspan='3'>No vegetables found.</td></tr>"; } ?> </table> <button type="button" onclick="saveChanges()">Save Changes</button> <button type="button" onclick="addRow()">Add Vegetable</button> <script> function saveChanges() { var table = document.getElementById('vegTable'); var rows = table.getElementsByTagName('tr'); var data = []; for (var i = 1; i < rows.length; i++) { var vegName = rows[i].cells[1].getAttribute('data-vegname') || rows[i].cells[1].innerText; var price = rows[i].cells[2].innerText; var id = rows[i].cells[0].innerText; var isnew = rows[i].getAttribute('data-isnew') === 'true'; data.push({ vegName: vegName, price: price, isnew: isnew, id: id }); } console.log(JSON.stringify(data)); var xhr = new XMLHttpRequest(); xhr.open('POST', "<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>", true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onload = function () { alert(xhr.responseText); }; xhr.send('data=' + JSON.stringify(data)); } function addRow() { var table = document.getElementById('vegTable'); var newRow = document.createElement("tr"); newRow.setAttribute('data-isnew', 'true'); var idCell = document.createElement('td'); idCell.textContent = ""; newRow.appendChild(idCell); var vegCell = document.createElement('td'); vegCell.contentEditable = "true"; vegCell.textContent = ""; newRow.appendChild(vegCell); var priceCell = document.createElement("td"); priceCell.contentEditable = "true"; priceCell.textContent = ""; newRow.appendChild(priceCell); table.appendChild(newRow); } </script> </div> </body> </html> <?php mysqli_close($con); ?> 我试图创建一个用户友好的可编辑蔬菜管理系统,但失败了。问题在于数据库,因为一旦编辑表并按下保存更改按钮,它就不会更新。 您好,我发现您的大部分代码都有效,如果表中已有蔬菜,您可以更新现有蔬菜的价格,但您的代码中有一个错误,该错误会阻止添加新蔬菜,我认为这可能是您的问题问什么? 当您添加新蔬菜时它没有保存到数据库的原因是因为 PHP 中的这一行 if ($isnew === 'true') { 这是因为您使用的是 === 并且它正在进行字面比较,这意味着它会检查 $isnew 是否是文本为“true”的字符串。 $isnew 是一个布尔值,因此返回 false。 如果您更改代码,使其与布尔值进行字面比较,如下所示: if ($isnew === true) { // notice the ' have been removed 它有效,您可以将新蔬菜保存到数据库中。 虽然此解决方案允许您将新蔬菜保存到数据库中,但在不刷新页面的情况下更新新添加的蔬菜还有一段路要走。这是因为在数据库中创建新蔬菜时,表格中没有填充 ID。此外,如果蔬菜是新的,并且您多次单击“保存更改”按钮,则会多次添加蔬菜。

回答 1 投票 0

用“AND”运算符条件减去两个 CASE 语句,当它应该返回特定整数时返回 NULL

我正在做这个 StrataScratch SQL 问题。 建议的解决方案对每个部门的每个最大值使用两个子查询,然后减去它们以获得绝对值。我想解决...

回答 1 投票 0

云服务中的存储和数据库有什么区别?

我正在学习GCP基础课程,我对云服务中存储和数据库之间的区别感到困惑。因为数据也可以认为是一种文件,那么数据也可以是

回答 3 投票 0

删除第二次出现字符 SQL 之前的所有内容

晚上专家。有人可以帮忙解决这个 MySQL 查询吗? 我需要删除该字符最后一次出现之前的所有内容 | 我有一个带有文件信息列的数据库表,但文件信息...

回答 1 投票 0

学生/顾问应用程序的实体关系模型

我正在构建一个涉及学生和顾问的网络应用程序。学生将选择他的独立学习,并由一名顾问进行监督。我正在努力寻找正确的关系...

回答 3 投票 0

Mongoose 跳过并限制数组内的对象

在使用 mongoose 之前,我曾使用sequelize。决定尝试猫鼬并发现在我的代码中忽略了跳过和限制选项。 这是我的模型: const 用户 = 新架构({ 登录:{ 类型:字符串,

回答 1 投票 0

elementor 在哪里存储从前端视图创建的内容中的数据?

我正在尝试更改由 elementor 页面构建器插件创建的页面中的值/文本,该插件存在于大约 400 个页面上。我已经用正确的值编辑了数据库(wp_posts),但它没有改变......

回答 1 投票 0

SQL Server getdate() 方法返回区域特定日期

我有 3 个数据库托管在不同区域的不同服务器上。我们严重依赖排序过程并使用 getdate() 函数。 我们正在根据服务器区域获得结果。 我们有...

回答 2 投票 0

我的代码中出现此错误。我该如何清除这个?

这是我的代码: 公共 MyResponse InsertTeam(MyRow Row) { 尝试 { var 连接 = SqlConnections.NewByKey("Cred"); /* 插入日志表 */ ...

回答 2 投票 0

为什么在 PostgreSQL 中导入快照时导出事务必须保持活动状态?

我正在使用 PostgreSQL 并使用 pg_export_snapshot() 在一个事务中创建快照,然后使用 SET TRANSACTION SNAPSHOT 将其导入到另一个事务中。我注意到 Postg...

回答 1 投票 0

使用 SELECT * INTO 将记录复制到另一个数据库

我正在尝试将一个数据库中的表复制到另一个数据库中。原始表包含静态数据。我需要能够操作“复制表”中的数据。这个过程需要...

回答 1 投票 0

公开有限的 SQL 查询服务端点是否安全?

我们想要创建一个只读查询 API 端点,允许客户端通过发送原始 SQL 字符串来访问其数据。我们会将查询解析为 AST,并根据我们的受限模式验证它们,

回答 1 投票 0

使用 Spring jdbc 模板检查数据库中数据是否存在的最有效方法

我正在开发一个高负载服务,其中我从 kafka 接收批量消息(一次大约 500 条)。这些消息代表数据库中的实体。为了简单起见,让我们想象一下实体 A: 创建...

回答 1 投票 0

如何使用Python客户端在GridDB中执行参数化查询?

我正在使用 GridDB Python 客户端与我的时间序列数据进行交互。我想执行参数化查询以防止 SQL 注入并有效处理动态值。 当我运行代码时...

回答 1 投票 0

混合搜索 Qdrant 集合

我只是想确保我正确遵循混合搜索的想法以及 qdrant 的实现。 矢量化数据库上的混合搜索:对密集嵌入执行搜索......

回答 1 投票 0

Laravel 迁移无法添加外键

我正在尝试编写 Laravel 数据库迁移,但收到以下关于外键的错误: [照亮\数据库\查询异常] ...

回答 5 投票 0

(研究)NoSQL 用户定义函数(UDF)和触发器是在应用程序级别还是数据库级别执行?

我正在尝试了解NoSQL的内部结构,特别是Apache Cassandra,并且我有一个对象执行问题。 我知道 NoSQL 本身不支持存储过程,但是你...

回答 1 投票 0

如何计算在大型 Postgresql 表上创建索引的时间?

我有一个包含 2600 万行的 Postgres 表,我想添加一个索引布尔列。 在产品中尝试之前,有没有办法计算这种类型的操作需要多长时间......

回答 2 投票 0

DSum 在 3 个字段中使用多个条件选择正确的数据库记录时出现错误

在以下Google-sheets数据库中,我无法在3个字段中选择具有多个条件的正确记录。 植物 数字 场地 失效日期 橡木 10 一个 2034-11-01 樱桃 5 乙 2026-04-01 ...

回答 1 投票 0

Google-Sheet DSum 在 3 个字段中使用多个条件选择正确的数据库记录时出现错误

在以下Google-sheets数据库中,我无法在3个字段中选择具有多个条件的正确记录。 植物 数字 场地 失效日期 橡木 10 一个 2034-11-01 樱桃 5 乙 2026-04-01 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.