Автор Тема: Продажа деревьев на ферме пользователями  (Прочитано 940 раз)

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

stelse398Автор темы

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!!
  • Дата регистрации: Янв. 2017
  • Сообщений: 4
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Всем привет! Хочу на ферме сделать продажу деревьев одними пользователями другим. Наподобие, как на ферме соседи происходит продажа блинчиков. Только там пользователи продают блины в порядке очереди, а я хочу, чтоб можно было купить у любого пользователя стоящего в списке продажи. Я вывел кнопку покупки напротив каждого пользователя, но покупается всегда только у одного, который стоит первым в списке.
Кто подскажет, что надо изменить в этом коде, чтоб заработала продажа от любого пользователя:

if (isset($_POST['kupit'])) {
$idd = intval($_POST['id']);
$type = intval($_POST['type']);
$koll = intval($_POST['kol']);

switch($type) {
case 1: $blin = 'blin_myaso'; $cena = 250; break;
case 2: $blin = 'blin_sir'; $cena = 450; break;
case 3: $blin = 'blin_smetana'; $cena = 2500; break;
}
switch($type) {
case 1: $nameblin = 'в канистре'; break;
case 2: $nameblin = 'в бочке'; break;
case 3: $nameblin = 'в цистерне'; break;
}
$sum = $koll * $cena;
   if($koll >= 1) {
      if($us_data['money_b'] >= $sum) {
         $rs = $db->Query("SELECT * FROM tb_blinaya WHERE type = '$type' AND koll >= '$koll' ORDER BY date ASC LIMIT 1") or die (mysql_error());
         $rs1 = $db->FetchArray($rs);
         
         $id = $rs1['id'];
         $user_id = $rs1['user_id'];
         $kolvo = $rs1['koll'];
         if($kolvo < $koll) {
         echo '<font color="red">ERROR!!![br /]В данной очереди нет столько топлива!</font>[br /]<a href="/account/blinaya"><font color="red"><<< Назад</font>[/url]';
         } else {
         $db->Query("UPDATE db_users_b SET ".$blin." = ".$blin." + '$koll', money_b = money_b - '$sum' WHERE id = '$usid'") or die (mysql_error());
         $db->Query("UPDATE db_users_b SET money_p = money_p + '$sum' WHERE id = '$user_id'") or die (mysql_error());
         $db->Query("INSERT INTO tb_history (user_id, summa, date, comment, type) VALUES ('$usid', '$sum', '$date', 'Купил $koll блинчиков $nameblin', 'blincik')") or die(mysql_error());
         if($koll == $kolvo) {
         $db->Query("DELETE FROM tb_blinaya WHERE id = '$id'") or die (mysql_error());
         } else {
         $db->Query("UPDATE tb_blinaya SET koll = koll - '$koll' WHERE type = '$type' AND id = '$id' LIMIT 1") or die (mysql_error());
         }
      echo  '<font color="Blue">Вы успешно купили топливо</font>[br /]<a href="/account/blinaya"><font color="red">Продолжить >>></font>[/url]';
      
      }
      }else echo '<font color="red">ERROR!!![br /]Не достаточно средств на балансе!</font>[br /]<a href="/account/blinaya"><font color="red"><<< Назад</font>[/url]';
   }else  echo '<font color="red">ERROR!!![br /]Не верно указано количество топлива</font>[br /]<a href="/account/blinaya"><font color="red"><<< Назад</font>[/url]';

}

Буду очень благодарен.
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Болеее 500 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Продажа деревьев на ферме пользователями
« Ответ #1 : 09 Августа 2017, 16:38:11 »
Нужно указать ID пользователя у которого покупаем.
Например в форме в скрытом поле передать ID продавца. Потом при нажатии на кнопку купить чекать это поле и получать ID продавца, и у него уже минусовать и себе прибавлять.

stelse398Автор темы

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!!
  • Дата регистрации: Янв. 2017
  • Сообщений: 4
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Продажа деревьев на ферме пользователями
« Ответ #2 : 10 Августа 2017, 16:50:29 »
Нужно указать ID пользователя у которого покупаем.
Например в форме в скрытом поле передать ID продавца. Потом при нажатии на кнопку купить чекать это поле и получать ID продавца, и у него уже минусовать и себе прибавлять.
Т.е. в коде ничего менять не надо? Только в форме покупке, где кнопка?
 

romcka8

  • *
  • Оффлайн
  • Награды Болеее 500 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям Более 10 созданных тем
  • Дата регистрации: Фев. 2016
  • Сообщений: 646
  • Страна: 00
  • Поблагодарили: 21 раз(а)
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Продажа деревьев на ферме пользователями
« Ответ #3 : 10 Августа 2017, 21:23:37 »
Т.е. в коде ничего менять не надо? Только в форме покупке, где кнопка?
А срок жизни есть на ферме?
Апдейт делаешь в базе:
1.У себя минусуешь дерево и плюсуешь бабки.
2.У покупателя минусуешь деньги и плюсуешь дерево.
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Болеее 500 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Продажа деревьев на ферме пользователями
« Ответ #4 : 11 Августа 2017, 13:32:14 »
Т.е. в коде ничего менять не надо? Только в форме покупке, где кнопка?

Надо.
Вот тут:
$rs = $db->Query("SELECT * FROM tb_blinaya WHERE type = '$type' AND koll >= '$koll' ORDER BY date ASC LIMIT 1") or die (mysql_error());

Как понять какого юзера берем? Я про:

$rs1 = $db->FetchArray($rs);
$id = $rs1['id'];
$user_id = $rs1['user_id'];

Выборка по $type = intval($_POST['type']); Что это?

Ну и в форме добавить скрытое поле. HTML надеюсь знаете!?
 

Rich-99000000

  • *
  • Оффлайн
  • Награды Более 250 сообщений Более 5 лет на форуме !!! Репутация более 5 Топ 10 по сообщениям Благодарность от форума Более 10 созданных тем
  • Дата регистрации: Июль 2016
  • Расположение: Novosibirsk
  • Возраст: 26
  • Сообщений: 405
  • Страна: ru
  • Поблагодарили: 115 раз(а)
  • Репутация +5/-1
  • Пол: Мужской
  • моды, сайты на заказ недорого >> ЛС
  • Дата рождения:1995-11-30
    • Награды
  • Социальные сети:
    ВКонтакте
Продажа деревьев на ферме пользователями
« Ответ #5 : 11 Августа 2017, 20:26:06 »
и не забыть проверку что у него есть дерево и что он продает. Инач можно подмену внедрить
 
Пользователи, которые поблагодарили этот пост: APTEMOH

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Болеее 500 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Продажа деревьев на ферме пользователями
« Ответ #6 : 12 Августа 2017, 23:39:04 »
и не забыть проверку что у него есть дерево и что он продает. Инач можно подмену внедрить

Естественно! + баланс покупателя чекать + фильтровать все что с формы идет, особенно в скрытых полях.
 
Теги: