2015-06-16 6 views
3

Я хочу, чтобы сделать идентификатор в базе данныхспросить о PHP итог 01 + 01 = 02

id_user тип => данные 'VARCHAR'

Я хочу, чтобы мой идентификатор, чтобы начать с 00, 01 , 02 и т. Д. И сделать новый идентификатор, я сосчитать все строки, и результат от графа будет добавлен 01.

Пример:

$id=array(00,01,02); 
$count_exist_id = $count($id) 
$new_id= '00' + $count_exist_id 

, и я надеюсь, что новый идентификатор должен быть '03', и он будет быть магазин в базе данных в таблице колонки пользователя id_user

+2

Магазин 'ID's как число без '0' в начале, и чем добавить в нуль на передней/конец, в вашем шаблоне. – panther

+0

Как '01' отличается от' 1'? – knittl

+0

ОК, мне нужно сделать make id, это просто сделать код для трех, так что я могу сделать разные между родителями/root и childs/leave – nanasjr

ответ

1

легче подход будет вычислить следующий идентификатор в виде целого числа, а затем подушечка его два символа строки в:

$id = array(00,01,02);- 
$count_exist_id = count($id); 
$new_id = str_pad($count_exist_id, 2, '0', STR_PAD_LEFT); 
+0

спасибо за ответ, я получить его, и еще одна проблема, я хочу сделать child от id, где пример id_child = id_parent + 1 character: id_parent = (00) и id_child должен быть «001» || id_parent = (01) и id_child должны быть «010», «011», «012» – nanasjr

+0

спасибо за ответ, я получу его сейчас, спасибо Mureinik – nanasjr

2

Вы можете использовать INT(x) ZEROFILL, чтобы добавить 0 перед номером. '1' => '001'

С INT ZEROFILL у вас есть AUTO_INCREMENT. ;)

CREATE TABLE user (
    id_user INT(8) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, 
    PRIMARY KEY(id_user) 
); 

Если вы используете UNSIGNED, оптимизировать таблицу, и вы сохраните один бит, чтобы получить большее количество.

См:

Смежные вопросы