php - 使用 +1 | 增加包含文本 + 数字的 DB 值 | WordPress的

标签 php mysql wordpress

用我的一种不太强大的语言 PHP 构建一个插件。

在这个插件中,我需要一个函数来为我存储一个 ID 并在每次执行时增加给定的值。 使用这段代码我可以实现:对于每次执行增加给定值 +1

$wpdb->query("UPDATE `wp_selector` SET `name`= name+1  WHERE 1"); 

每次执行的结果:1、2、3、4、5..等

是否尝试使用相同的方法,其中我的初始值类似于“ABC000001”,试图实现 ABC000001、ABC000002、...ABC056211

结果:1,2,3..

当插件激活时,我创建表并将我的初始值(如“ABC000001”)放入“名称”中

我如何通过 +1 增加值并保持我的值结构,所以它会转到“ABC000001”并继续增加,所以它最终会像“ABC999999”而不是“ABC00000999999”

最佳答案

存储自定义全局数据是 wp_options 表的用途,Wordpress 有一些功能可以帮助您实现这一点。您可以采用几种不同的方式来解决这个问题,具体取决于您希望它如何工作,但我会做这样的事情......

function myplugin_create_id() {
    //Check if you have an ID stored
    $current_id = get_option( 'myplugin_id', 1 );

    //Add one to create new ID
    $new_id = $current_id + 1;

    //Update option in DB
    update_option( 'myplugin_id', $new_id );

    //Create string in correct format
    $formatted_id = 'ABC';
    $formatted_id .= str_pad( $current_id, 6, "0", STR_PAD_LEFT);

    //Return formatted ID
    return $formatted_id;
}

此函数在选项表中存储一个数字,每次将数字加 1,并通过在存储的数字前加上“ABC”并使用 str_pad() 确保数字字符串为 6 位长来返回格式化字符串。

现在每次您想要生成一个新 ID 时,您只需使用...

$id = myplugin_create_id();

希望这就是您正在寻找的答案。

问候

关于php - 使用 +1 | 增加包含文本 + 数字的 DB 值 | WordPress的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28544454/

相关文章:

css - 自定义 CSS 文本对齐不起作用

php - 如何在cakephp 3请求中获取浏览器名称?

MySQL 效率 - 2 个单独的表或连接

MySQL REGEXP alnum 匹配问题

mysql - 我正在尝试学习 sql 上的触发器并收到以下错误

html - 试图让 DIV 正确重叠。具有不同的特定格式的四个象限和第五个覆盖带有标题图形的象限

php - 抑制或管理 cakephp 中的 "duplicate-entry"错误

php - Yii2 - 分页查询

php - 如何使用 PHP 从其他主机连接 MySQL 数据库

需要 WordPress XMLRPC 建议