За последние 24 часа нас посетил 30471 программист и 1808 роботов. Сейчас ищут 779 программистов ...

Не могу понять

Тема в разделе "PHP и базы данных", создана пользователем Joker2705, 8 окт 2013.

  1. Joker2705

    Joker2705 Активный пользователь

    С нами с:
    8 окт 2013
    Сообщения:
    37
    Симпатии:
    0
    Здравствуйте, совсем наверное тупой вопрос, но я не могу разобраться. Мне нужно, что бы из таблицы в БД бралось число, к нему прибавлялось число 1 и результат записывался обратно в таблицу. Вроде бы все правильно пишу, вот пример:

    $reqk = mysql_query("SELECT * FROM `user_kill` WHERE `quest` = '$npc[quest]' and `usr`='$log'");
    $avtok=mysql_num_rows($reqk);
    $kil=$reqk[killing]+1;
    mysql_query("UPDATE `user_kill` SET `killing`='$kil' WHERE `usr` = '$log' ");

    Работает, но не правильно, такое ощущение, что он сначала обнуляет значение, а потом все выполняет, если у меня там стоит значение 1, то после выполнения должно стать 2, а так и остается 1, если -1 или 0 или 10, то все равно становится 1 и все, хоть убейся(((( Подскажите, может что неправильно написал, а может как по другому сделать???
     
  2. diff

    diff Новичок

    С нами с:
    8 окт 2013
    Сообщения:
    4
    Симпатии:
    0
    все намного проще
    Код (Text):
    1. mysql_query("UPDATE `user_kill` SET `killing`=`killing`+1 WHERE `quest` = '$npc[quest]' and `usr`='$log'");
     
  3. Joker2705

    Joker2705 Активный пользователь

    С нами с:
    8 окт 2013
    Сообщения:
    37
    Симпатии:
    0
    ООО))) Спасибо огромное))) Я в этом деле новичек (в PHP), все время пробую сложные действия, а все оказывается просто))) Еще раз СПАСИБО))))
     
  4. Joker2705

    Joker2705 Активный пользователь

    С нами с:
    8 окт 2013
    Сообщения:
    37
    Симпатии:
    0
    Скажите, а как теперь сделать так, если "killing" меньше или равен 0, то в другой БД прописывается слово "complate", а если больше то ничего не происходит????
    У меня вот так получилось, но в любом случае прописывается "complate", вот что у меня:

    mysql_query("UPDATE `user_kill` SET `killing`=`killing`-1 WHERE `usr`='$log'");
    $reqk = mysql_query("SELECT * FROM `user_kill` WHERE `usr`='$log'");
    $avtok=mysql_num_rows($reqk);
    if($reqk[killing]<=0){
    mysql_query("UPDATE `userquests` SET `status` = 'complete' WHERE `usr` = '$log'");
    }