Php 增加包含文本的DB值+;带有+;1 | Wordpress

Php 增加包含文本的DB值+;带有+;1 | Wordpress,php,mysql,wordpress,Php,Mysql,Wordpress,用我的一种非强语言PHP构建插件 在这个插件中,我需要一个函数来为我存储一个ID,并在每次执行时使用给定的值来增加它W通过这段代码,我可以实现:对于每一次执行,给定值增加+1 $wpdb->query("UPDATE `wp_selector` SET `name`= name+1 WHERE 1"); 每次执行时的结果:1、2、3、4、5..等 我是否尝试过使用相同的方法,其中我的初始值类似于“ABC000001”,试图实现ABC000001、ABC000002、…ABC05621

用我的一种非强语言PHP构建插件

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

$wpdb->query("UPDATE `wp_selector` SET `name`= name+1  WHERE 1"); 
每次执行时的结果:1、2、3、4、5..等

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

结果:1,2,3

当插件激活时,我创建一个表,并将我的初始值如“abc00001”放入“name”


我如何用+1增加值并保持值的结构,这样它将转到“ABC000001”并继续递增,这样它最终会变成“ABC999999”,而不是“ABC0000099999”

存储自定义全局数据是wp_选项表的功能所在,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();
希望这就是你想要的答案

问候


Dan

我不这么认为,这个问题是关于创建增值的新行,对我来说似乎不是最好的解决方案。一定有更好的解决办法。。总是有@马蒂亚斯·奥斯伯格不用担心。