使用+1 |增加包含Text + Numbers的DB值WordPress的

时间:2015-02-16 15:11:12

标签: 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,...... ABC056211

结果:1,2,3 ..

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

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

1 个答案:

答案 0 :(得分:1)

存储自定义全局数据是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();

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

此致