Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2012, 17:05   #1
lost name
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию проблема с обновлением БД

Вот кусок кода:
PHP код:

if (isset($_POST['pod1'])) { $pod1 $_POST['pod1'];}
if (isset(
$_POST['pod2'])) { $pod2 $_POST['pod2'];}
if (isset(
$_POST['pod3'])) { $pod3 $_POST['pod3'];}
if (isset(
$_POST['pod4'])) { $pod4 $_POST['pod4'];}
if (isset(
$_POST['pod5'])) { $pod5 $_POST['pod5'];}

case 
'0';

$result mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id = '".$user."'"));
if (isset(
$_POST['submit']))
    {
    
mysql_query ("UPDATE `users` SET `sila` = '$pod1',
                                    `hp` = '
$pod2',
                                    `energ` = '
$pod3',
                                    `regen` = '
$pod4',
                                    `bronja` = '
$pod5', 
                                    `master` = '1'
                                    WHERE `id` = '"
.$user."'");
    echo 
'<div class="hr"></div>
<img width="12" height="12" src="images/icons/star_default.png" alt="" border="0"/> 
<span class="info">Вы успешно подняли мастера до 1 уровня!</span>'
;
    } 
else 
    {
$stat1 $result['sila'];
$stat2 $result['hp'];
$stat3 $result['energ'];
$stat4 $result['regen'];
$stat5 $result['bronja'];
$master 1;
$proc 100;
//// Считаем силу
$schet1 $stat1 $master $proc;
$pod1 $stat1 $schet1;
//// Считаем здоровье
$schet2 $stat2 $master $proc;
$pod2 $stat2 $schet2;
//// Считаем энергию
$schet3 $stat3 $master $proc;
$pod3 $stat3 $schet3;
//// Считаем регенерацию
$schet4 $stat4 $master $proc;
$pod4 $stat4 $schet4;
//// Считаем броню
$schet5 $stat5 $master $proc;
$pod5 $stat5 $schet5;
echo 
'<div class="hr"></div>
<img width="12" height="12" src="images/icons/star_default.png" alt="" border="0"/> Повысить уровень за <img width="12" height="12" src="images/icons/ironbar.png" alt="" border="0"/><span>1000</span>
'
;
echo 
'<br><form method="POST" action=""><input type="submit" name="submit" value="Повысить"></form>';

    } 
Вообщем должно при нажатии кнопки добавлять 1% к каждому параметру, только при добавлении параметры обнуляется(0), в чём проблема? что не так делаю подскажите пожалуйста)
lost name вне форума Ответить с цитированием
Старый 09.05.2012, 20:08   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

А что это за case 0; ?
и ещё лучше писать просто вот так
Код:
 WHERE id = '$user'
Проверь что находится в $result.
Код:
var_dump($result);
и что посылается методом ПОСТ.
Может там ошибка
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 09.05.2012, 21:32   #3
lost name
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

case 0 это если мастер 0 уровня, чтобы можно было повысить до первого, в $result все нормально) проверял)
если выше формы пробую вывести то что должно обновить, все выводит с процентами, отлично, а в базу не добавляет
lost name вне форума Ответить с цитированием
Старый 09.05.2012, 21:35   #4
lost name
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

методом пост просто обновляется инфа в базу. Там же пишет)) С ним все нормально, так как мастера заносит нормально, а остальное обновляет как 0)
lost name вне форума Ответить с цитированием
Старый 09.05.2012, 21:40   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

У вас в форме кроме сабмита нет ничего - как вы передаете данные в запрос для обновления?
В $_POST же нет ничего - только сабмит.
Andkorol вне форума Ответить с цитированием
Старый 09.05.2012, 21:44   #6
lost name
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

а как сделать по другому тогда? мне нужно чтобы только кнопка была)
lost name вне форума Ответить с цитированием
Старый 09.05.2012, 21:52   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от lost name Посмотреть сообщение
а как сделать по другому тогда? мне нужно чтобы только кнопка была)
Код HTML:
<input type="hidden" name="some_name" value="some_value" />
Только какой смысл гонять данные, которые определяются в этом же самом скрипте?
Проще поднять код подсчета процентов выше, под запрос $result.
А дальше всё как и сейчас:
если есть сабмит - используем эти данные для обновления БД
иначе - просто выводим кнопку
Andkorol вне форума Ответить с цитированием
Старый 09.05.2012, 21:56   #8
lost name
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

в скрытое поле мне все 5 параметров в значение добавлять? Попробую ещё как ты говоришь, я новичок ещё в этом деле)
lost name вне форума Ответить с цитированием
Старый 09.05.2012, 21:59   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от lost name Посмотреть сообщение
в скрытое поле мне все 5 параметров в значение добавлять?
Нет - нужно делать 5 скрытых полей.
Или можно передавать сериализованный массив значений - тогда в 1-м поле.
Но - проще и правильнее поднять код выше.
Andkorol вне форума Ответить с цитированием
Старый 09.05.2012, 22:02   #10
lost name
Пользователь
 
Регистрация: 07.05.2012
Сообщений: 18
По умолчанию

Спасибо тебе!
lost name вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с обновлением поля со списком aviator_a Microsoft Office Access 12 24.07.2011 15:10
Проблема с обновлением значения byzyan ASP.NET 1 13.03.2011 20:26
DBRadioGroup,проблема с обновлением Sinker БД в Delphi 8 17.04.2009 10:15
Проблема с обновлением KIS 7 Ronni10 Безопасность, Шифрование 2 07.03.2008 09:40