php - 如何在MySQL更新记录上使用substr?

标签 php jquery mysql

我一直在尝试更新记录,但似乎无法在 substr 命令中编写代码以从字符串中提取某些详细信息。

我有一个“doa”(事故日期)文本字段,目前正在与 kelvinluck 的 jquery datepicker 插件配合使用。

最初,单个 doa 文本字段被分为三个下拉列表,即:doaDay、doaMonth、doaYear。每个人在数据库中都有自己的字段。

但我决定将 doaDay、doaMonth、doaYear 统一为一个字段,称为 doa 和我们 kevinluck 的 jquery datepicker 插件。

现在,由于我的数据库中有超过 100 条使用 doaDay、doaMonth、doaYear 字段的记录,我决定使用 substr 命令来提取 dd (doaDay)、mm (doaMonth) 和 yyyy (doaYear)新更新的 dd/mm/yyyy(字段)。

这是我插入数据库时​​的解决方案:

$doa = $_POST['doa'];
$doaDay = substr($doa, 0, 2);
$doaMonth = substr($doa, 4, 5);
$doaYear = substr($doa, 7, 10);

然后在POST之后插入记录。

mysql_query("INSERT INTO tbl_personalinjury (`doaDay`, `doaMonth`, `doaYear`)                          
VALUES ('$doaDay', '$doaMonth', '$doaYear')");

现在,当我尝试更新记录时,问题出现了。由于使用了一种全新的方法,我在实现它时遇到了困难。这是我到目前为止所拥有的。

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form")) {
  $updateSQL = sprintf("UPDATE tbl_accident SET doaDay=%s, doaMonth=%s, doaYear=%s, WHERE id=$client_id",
                       GetSQLValueString($_POST['doaDay'], "text"),
                       GetSQLValueString($_POST['doaMonth'], "text"),
                       GetSQLValueString($_POST['doaYr'], "text"),

如何从 doa 文本字段中提取 dd、mm、yyyy 并将值分别分配给 $doaDay、$doaMonth 和 $doaYear?

最佳答案

为什么不直接执行 $doa_bits =explode('/', $doa); 。这应该会给你一个包含 3 个项目的数组,$doa_bits[0] 是日期,$doa_bits[1] 是月份,$doa_bits[ 2] 是年份。

关于php - 如何在MySQL更新记录上使用substr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3614391/

相关文章:

php - 如何在foreach循环下将数组合并为一个数组

php - 在 PHP 中检查现有的、持久的 SQLite 连接

jquery - 在 Kendo UI 网格中对自定义下拉列表进行排序

jQuery根据复选框隐藏父div

php - 与您的 MySQL 服务器版本相对应的手册,以便在附近使用正确的语法

php - 使用 PHP 和 MYSQL 上传信息时不需要我的表单字段

javascript - 将 JavaScript 中的值集成到 HTML 表单中以将其发布到 php 中

php - LAMP 服务器 - 一个命令?

javascript - JQuery 脚本顺序错误?

php - 输出表中的所有数据并显示哪些行属于用户