Автор: Kill Spirit: Дата: 03.10.2011
case '=RO_Points': // =RO Points
$price_original = $item['1']['price'];
// Проверяем цену.
$end_price = $price_original*$count;
$donate_count = $donate-$end_price;
$now_count = mysql_query ("SELECT `value` FROM `global_reg_value` WHERE `str`='##evp' AND `account_id`='$account_id'");
$final_count = $now_count+$count;
if ($donate >= $end_price){
$add_item = mysql_query ("UPDATE `global_reg_value` set `value`='$final_count' WHERE `str`='##evp' AND `account_id`='$account_id'") or die(mysql_error());
$donate_down = mysql_query ("UPDATE `login` set `donate`='$donate_count' WHERE `userid`='$userid'") or die(mysql_error());
$result = $true_buy;
} else {
$result = $no_donate;
}
break;
Автор: obliged.act: Дата: 03.10.2011
Цитата Kill Spirit;35725:case '=RO_Points': // =RO Points
$price_original = $item['1']['price'];
// Проверяем цену.
$end_price = $price_original*$count;
$donate_count = $donate-$end_price;
$now_count = mysql_query ("SELECT `value` FROM `global_reg_value` WHERE `str`='##evp' AND `account_id`='$account_id'");
$final_count = $now_count+$count;
if ($donate >= $end_price){
$add_item = mysql_query ("UPDATE `global_reg_value` set `value`='$final_count' WHERE `str`='##evp' AND `account_id`='$account_id'") or die(mysql_error());
$donate_down = mysql_query ("UPDATE `login` set `donate`='$donate_count' WHERE `userid`='$userid'") or die(mysql_error());
$result = $true_buy;
} else {
$result = $no_donate;
}
break;
Собстна в чём проблема:
При нажатии на кнопку "Купить" у меня до этого было допустим 10 ##evp, в количество ($count) ввёл 10, при завершении покупки у меня стало не 20, а 37 например.
Или другой случай:
Проделал тоже что и выше, но купил уже 1 поинт, у меня стало не 11, а 2.
Автор: Кеник: Дата: 03.10.2011
Это только кусок кода =_=" Причем слегка модифицированный от первоначального варианта :D
Хотя мб ты и прав х) Я не особо в пхп+мускл шарю... Учусь только)
Автор: obliged.act: Дата: 03.10.2011
$result = mysql_query('SELECT `account_id` FROM `login`');
echo '';
while ( $row = mysql_fetch_row($result) )
{
echo 'Текущий ID: ' . $row['0'];
}
echo '
';
$result = mysql_query('SELECT `account_id` FROM `login`');
echo '';
while ( $row = mysql_fetch_assoc($result) )
{
echo 'Текущий ID: ' . $row['account_id'];
}
echo '
';
Автор: Кеник: Дата: 03.10.2011
Ну там это должно быть, я понимаю х) Ну или что-то вроде того... ID акка же как-то получил х)
Автор: Gremlin: Дата: 03.10.2011
Цитата obliged.act;35784:
$result = mysql_query('SELECT `account_id` FROM `login`');
echo '';';
while ( $row = mysql_fetch_row($result) )
{
echo 'Текущий ID: ' . $row['0'];
}
echo '
или
$result = mysql_query('SELECT `account_id` FROM `login`');
echo '';';
while ( $row = mysql_fetch_assoc($result) )
{
echo 'Текущий ID: ' . $row['account_id'];
}
echo '
Простите что без табуляции.
$result = mysql_query('SELECT * FROM `login`');
Автор: Kill Spirit: Дата: 03.10.2011
Это 1% от всего кода отвечающий за выдачу того или иного предмета на весь аккаунт персонажа, проверка ID и прочей хрени у меня стоит.
Автор: Кеник: Дата: 03.10.2011
Погляди как у тебя #count получается.... Раз неверное значение в итоге записывается - значит $final_count считается неправильно, так? $final_count=#now_count+$count. $now_count получаем напрямую с базы, то бишь можно полагать, что оно верное - тогда остается проверить $count . Мб там у тебя отрицательное число получается ил еще чего) Ну и да, ты уверен, что ничего не напутал и скрипт неправильно записывает?) Ы
Автор: Kill Spirit: Дата: 03.10.2011
Если проделывать трюк с зачислением тцг в кафру, без now_count+count, то работает безупречно.
Автор: Кеник: Дата: 03.10.2011
Ну а что за трюк? Показывай)
Автор: Kill Spirit: Дата: 03.10.2011
case 'ololo': //-RO Coin
$price_original = $item['4']['price'];
// Проверяем цену.
$end_price = $price_original*$count;
$donate_count = $donate-$end_price;
if ($donate >= $end_price){
$add_item = mysql_query ("INSERT INTO `storage` (`id`, `account_id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `card0`, `card1`, `card2`, `card3`, `expire_time`) VALUES ('', '$account_id', '$item_id', '$count','0','1','0','0','0','0','0','0','0')") or die(mysql_error());
$donate_down = mysql_query ("UPDATE `login` set `donate`='$donate_count' WHERE `userid`='$userid'") or die(mysql_error());
$result = $true_buy;
} else {
$result = $no_donate;
}
break;
Автор: Кеник: Дата: 03.10.2011
Ну тут суть другая. Тут он добавляет строку в базу данных. А там не получится, ибо ты используешь глобальные переменные. Там надо заменять значение этой переменной.
Автор: obliged.act: Дата: 03.11.2011
Цитата Gremlin;35800:$result = mysql_query('SELECT * FROM `login`');