Как создать серию вещей: MU online, веб-сайты, помощь Web

Автор logic, 2010 Авг. 21, 12:34

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineвещисерия

logic

Как я понял, серию создавать в ручную, рандомое число, но в каких пределах?
Серия как мы знаем из 6 цифр в 16-ой СИ, максимальное ее число будет FFFFFF, то есть в 10чной СИ это 16,777,215. Максималку нашли, а минимальное значение каким должно быть, чтобы серия оставалась из 6 цифр в 16-чном формате?
<?php
$serial 
rand(0,16777215);
$serial dechex($serial);

?>
Либо как выход, можно будет проверить кол-во символов строке, если меньше 6, то добавить  слева 0, да?
А вобще придумал другую вещь, сделать цикл, и проверку, если число в 16-ой СИ меньше 6 сиволов, то дать новое рандомое число, делать его, пока не будет 6 символов.
$serial = rand(0,16777215);
$serial = dechex($serial);

while(strlen($serial) < 6) {
$serial = rand(0,16777215);
$serial = dechex($serial);

}

Zеvs

К чему эти завороты, зачем изобретать велосипед? У бд есть замечательная процедура wz_getitemserial..ею и вытягивай серию

GrInYa

сериал вещей не рандомный а берётся с базы из GameServerInfo таблички -> ItemCount

smoken

Если вас не затруднит, можно поподробнее, как из этой базы получить серийный номер для новой вещи.
Беру я, значит, ИтемКаунт значение, а дальше что? Я должен сделать значение на 1 больше и обновить поле ItemCount = ItemCount+1, или он сам это делает?
Извените за глупый вопрос.

epmak

в вышеуказанную базу глянь да посмотри, потом найи вышеуказанную процедуру. там все как на ладони

smoken

Я просто до сих пор не имел дел с процедурами. Я так понял запустить процедуру можно командой ехес, она тебе вернёт текущее значение а после увеличит значение в базе не 1, верно?

epmak

если пишешь сайт, то придется

Zеvs

Цитата: smoken от 2011 Окт. 22, 18:43  Я просто до сих пор не имел дел с процедурами. Я так понял запустить процедуру можно командой ехес, она тебе вернёт текущее значение а после увеличит значение в базе не 1, верно?
Да, все верно.

smoken

ЦитироватьДа, все верно.
Благодарю.

Похожие темы (5)