Автор Тема: Биржа самолётов  (Прочитано 1402 раз)

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

Ret123rАвтор темы

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2018
  • Сообщений: 10
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Биржа самолётов
« : 14 Сентября 2019, 01:58:32 »
Здравствуйте!
Может кто поможет мне.
Есть модуль "Биржа самолётов" но при выставлении лота на биржу в базу данных не заносится id "прописывается 0".
Как следствие, если 2 разных человека, выставляют лоты на продажу то никто их не может купить пишет что "Такого лота не существует".
Пожалуйста подскажите где ошибка?

Ссылка на файлhttps://ibb.co/CVtsJbN
Вот сами файлы:

Birja.

Спойлер
 <div class="row">
                            <div class="col-sm-12">
                                <h4 class="page-title">Рынок самолетов</h4>
                                <p class="text-muted page-title-alt">Продавайте свои самолеты или покупайте у других игроков</p>
                            </div>
                        </div>


      <div class="panel panel-default">
                           <div class="panel-body">
                           <h5>На данной странице вы можете покупать самолеты у других игроков по выгодным ценам!</h5>
                           </div>
                     </div>
                     
                     <center><button style="margin-right:10px;" type="button" class="btn btn-success btn-bordered" onclick="location.href='./birja';">Рынок</button><button type="button" class="btn btn-success btn-bordered" onclick="location.href='./mybirja';">Мои самолеты</button></center>
                     
      

      <?
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

//Покупаем дерево по лоту
      if(isset($_POST['vol'])) {
      $id = intval($_POST['vol']);
      $kol = (int)$_POST['kolvo'];
      
      if($kol >= 1) {
         $db->Query("SELECT * FROM db_birja WHERE id = '$id'");
         if($db->NumRows() == 1) {
            $q = $db->FetchArray();
            if($kol <= $q['kolvo']) {
            $sumpok = $kol * $q['price'];
            $sumz = $sumpok - ($sumpok * 0.1);
            if($user_data['money_b'] >= $sumpok) {
$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t", 6 => "f_t");
$array_name = array(1 => "Самолет 1", 2 => "Самолет 2", 3 => "Самолет 3", 4 => "Самолет 4", 5 => "Самолет 5", 6 => "Самолет 6");
$item = intval($q["type"]);
$citem = $array_items[$item];

               if($user_data["last_sbor"] == 0 OR $user_data["last_sbor"] > ( time() - 60*20) ){
                  # Добавляем дерево и списываем деньги
                  $db->Query("UPDATE db_users_b SET money_b = money_b - '$sumz', $citem = $citem + $kol, 
                  last_sbor = IF(last_sbor > 0, last_sbor, '".time()."') WHERE id = '$usid'");
                  
                  $db->Query("UPDATE db_users_b SET money_b = money_b + '$sumz' WHERE id = '".$q['user_id']."'");
                  $db->Query("UPDATE db_birja SET kolvo = kolvo - '$kol' WHERE id = '".$q['id']."'");
                  $db->Query("SELECT * FROM db_birja WHERE id = '$id'");
                  $s = $db->FetchArray();
                  if($s['kolvo'] <= 0) {
                  
                  $db->Query("DELETE FROM db_birja WHERE id = '".$s['id']."'");
                  }



                  echo "<center><font color = 'green'>Вы успешно купили самолеты</font></center><BR />";
                  
               }else echo "<center><font color = 'red'>Перед тем как докупить самолеты следует собрать монеты в кассе!</font></center><BR />";
            }else echo '<center><font color="red">УПС!!! Ошибочка!!! Недостаточно средств на счете</font></center>';
            }else echo '<center><font color="red">УПС!!! Ошибочка!!! В данном лоте нет стоко самолетов! Укажите меньшее число!</font></center>';
         }else echo '<center><font color="red">УПС!!! Ошибочка!!! Такого лота не существует</font></center>';
      }else echo '<center><font color="red">Не верное кол-во самолетов</font></center>';
      
      }
      
      ?>
   
<table cellpadding='3' cellspacing='0' border='0' class="ta" align='center' width="96%">
   <tr bgcolor="#63CB89" style="color:#ffffff;">
    <td align="center" style="padding-left:20px;padding-bottom:7px;padding-top:7px;">#</td>
   
   <td align="center">Модель</td>
       
   <td align="center">Цена (за 1 шт.)</td>
        <td align="center">Продавец</td>
   <td align="center">Дата выставления</td>
   <td align="center">Кол-во</td>
   <td align="center">Купить</td>
  </tr>
 
 
  <?
  $db->Query("SELECT * FROM db_birja LIMIT 100");
  if($db->NumRows() == 0) {
  echo '<tr><td colspan="7">Пока пусто :(</td></tr>';
  }
  while($a = $db->FetchArray()){
  switch($a['type']) {
case 1: $type = '<img src="/img/1.png" width="64px"/> Самолет 1'; break;
  case 2: $type = '<img src="/img/2.png"  width="64px"/> Самолет 2'; break;
  case 3: $type = '<img src="/img/3.png"  width="64px"/> Самолет 3'; break;
  case 4: $type = '<img src="/img/4.png"  width="64px"/> Самолет 4'; break;
  case 5: $type = '<img src="/img/5.png"  width="64px"/> Самолет 5'; break;
  case 6: $type = '<img src="/img/6.png"  width="64px"/> Самолет 6'; break;
 

 
  }



  ?>
  <tr class="htt">
  <form method="post" action="">
    <td align="center"><?=$a['id'];?></td>
   <input type="hidden" name="vol" value="<?=$a['id'];?>">
   
   <td align="center"><?=$type;?></td>
       
   <td align="center"><?=$a['price']* 0.9;?> руб.</td>
        <td align="center"><?=$a['login'];?></td>
   <td align="center"><?=date("d.m.Y", $a['date']);?></td>
   <td align="center"><input type="text" class="form-control" value="<?=$a['kolvo'];?>" name="kolvo" style="width:40px"></td>
   <td align="center"><input type="submit"  value="Купить"  class="btn btn-success btn-sm" /></td>
   </form>
  </tr>
  <? } ?>
</table>

      
   
   
[свернуть]

Mybirja.

Спойлер

<div class="row">
                            <div class="col-sm-12">
                                <h4 class="page-title">Мои самолеты</h4>
                                <p class="text-muted page-title-alt">Все ваши самолеты, которые можно выставить на продажу</p>
                            </div>
                        </div>


      <div class="panel panel-default">
                           <div class="panel-body">
                           <h5>На данной странице вы можете продать свои самолеты, а так же купить их у других участников! Цена выставляется самим учасником, с ограничением стоимости не более чем стоимость в магазине (скидка не более 30%). Магазин берет 10% от вашей стоимости за хранение ваших товаров)</h5>
                           </div>
                     </div>
      
   <center><button style="margin-right:10px;" type="button" class="btn btn-success btn-bordered" onclick="location.href='./birja';">Рынок</button><button type="button" class="btn btn-success btn-bordered" onclick="location.href='./mybirja';">Мои самолеты</button></center>
      
      <center><h3>Выставить самолеты на рынок</h3></center>
      
      <?
      
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();


            

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();


            
      if(isset($_POST['type'])) {
      $type = intval($_POST['type']);
      $price = sprintf("%.2f",$_POST["price"]);
      $kolvo = intval($_POST['kolvo']);
      
$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t", 6 => "f_t");
$array_name = array(1 => "Самолет 1", 2 => "Самолет 2", 3 => "Самолет 3", 4 => "Самолет 4", 5 => "Самолет 5", 6 => "Самолет 6");
$item = intval($type);
$citem = $array_items[$item];
$sonf = $sonfig_site["amount_".$citem] - ($sonfig_site["amount_".$citem]*0.3);



if($type >= 1 and $type <= 14) {
if($kolvo >= 1) {
if($price  > $sonf and $price <=  $sonfig_site["amount_".$citem]) {
if($user_data[$citem] >= $kolvo) {
$db->Query("INSERT INTO db_birja (user_id, login, type, date, kolvo, price) VALUES ('$usid', '$usname', '$type', '".time()."', '$kolvo', '$price')");
$db->Query("UPDATE db_users_b SET $citem = $citem - '$kolvo' WHERE id = '$usid'");

echo '<center><font color="green">Вы успешно выставили самолеты на рынок</font></center>';
}else echo '<center><font color="red">УПС!!! Ошибочка!!! Недостаточно самолетов</font></center>';
}else echo '<center><font color="red">УПС!!! Ошибочка!!! Не верная стоимость самолета</font></center>';
}else echo '<center><font color="red">УПС!!! Ошибочка!!! Не верное кол-во самолетов</font></center>';
}else echo '<center><font color="red">УПС!!! Ошибочка!!! Укажите модель самолета</font></center>';

      
      }
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
      ?>
      
      <center><table class="standard-table">
      <form method="post" action="">
<tr>
   <td>Модель</td>
   <td><select name="type" class="form-control">
<option value="1">Самолет 1 (<?=$user_data['a_t'];?> шт.)
<option value="2">Самолет 2 (<?=$user_data['b_t'];?> шт.)
<option value="3">Самолет 3 (<?=$user_data['c_t'];?> шт.)
<option value="4">Самолет 4 (<?=$user_data['d_t'];?> шт.)
<option value="5">Самолет 5 (<?=$user_data['e_t'];?> шт.)
<option value="6">Самолет 6 (<?=$user_data['f_t'];?> шт.)

</select>   </td>
  </tr>

  <tr>
  <td>Кол-во</td>
  <td><input  class="form-control" type="text" name="kolvo" value=""></td>
  </tr>
  <tr>
  <td>Цена за 1 шт.&nbsp;&nbsp;&nbsp;</td>
  <td><input type="text" class="form-control" name="price" value=""></td>
  </tr>
  <tr align="center">
  <td colspan="2">
<input type="submit" value="Выставить" class="btn btn-success btn-lg" /></td>
  </tr>
  </form>
</table>      
      
      
      <BR />
      
      
      <center><h3>Список моих активных лотов</h3></center>
      
      
      
      
      <?
      if(isset($_POST['vol'])) {
      $id = intval($_POST['vol']);
      $kol = intval($_POST['kolvo']);
      $db->Query("SELECT * FROM db_birja WHERE id = '$id' AND user_id = '$usid'");
      if($db->NumRows() == 1) {
      $f = $db->FetchArray();
      
      
$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t", 6 => "f_t", 7 => "g_t", 8 => "h_t", 9 => "i_t", 10 => "j_t", 11 => "k_t", 12 => "l_t", 13 => "m_t", 14 => "n_t");
$array_name = array(1 => "Лайм", 2 => "Вишня", 3 => "Клубника", 4 => "Киви", 5 => "Апельсин", 6 => "Яблоко", 7 => "Гранат", 8 => "Малина", 9 => "Персик", 10 => "Груша", 11 => "Абрикоз", 12 => "Арбуз", 13 => "Ананас", 14 => "Банан");
$item = intval($f['type']);
$citem = $array_items[$item];


      if($kol >= $f['kolvo']) {
         if($user_data["last_sbor"] == 0 OR $user_data["last_sbor"] > ( time() - 60*20) ){
      $db->Query("UPDATE db_birja SET kolvo = kolvo - '$kol' WHERE id = '$id' AND user_id = '$usid'");
      $db->Query("UPDATE db_users_b SET $citem = $citem + '$kol' WHERE id = '$usid'");
      $db->Query("SELECT * FROM db_birja WHERE id = '$id' AND user_id = '$usid'");
      $g = $db->FetchArray();
      if($g['kolvo'] <= 0) {
      $db->Query("DELETE FROM db_birja WHERE id = '$id' AND user_id = '$usid'");
      }
      echo '<center><font color="green">Вы успешно сняли самолеты с продажи</font></center>';
      }else echo "<center><font color = 'red'>Перед тем как снять с продажи самолеты следует собрать урожай на складе!</font></center><BR />";
      }else echo '<center><font color="red">УПС!!! Ошибочка!!! Вы указали больше чем у вас имеете на рынке!</font></center>';
      }else echo '<center><font color="red">УПС!!! Ошибочка!!! Это не ваш лот</font></center>';
      }
      
      ?>
<table cellpadding='3' cellspacing='0' border='0' class="ta" align='center' width="96%">
  <tr bgcolor="#63CB89" style="color:#ffffff;">
    <td align="center" style="padding-left:20px;padding-bottom:7px;padding-top:7px;">#</td>
   
   <td align="center">Модель</td>
   <td align="center">Цена(за 1 шт.)</td>
   <td align="center">Дата выставления</td>
   <td align="center">Кол-во</td>
   <td align="center">Действие</td>
  </tr>
 
 
  <?
  $db->Query("SELECT * FROM db_birja WHERE user_id = '$usid' LIMIT 100");
  if($db->NumRows() == 0) {
  echo '<tr><td colspan="7">Пока пусто :(</td></tr>';
  }
  while($a = $db->FetchArray()){
  switch($a['type']) {
 case 1: $type = '<img src="/img/1.png" width="64px"/> Самолет 1'; break;
  case 2: $type = '<img src="/img/2.png"  width="64px"/> Самолет 2'; break;
  case 3: $type = '<img src="/img/3.png"  width="64px"/> Самолет 3'; break;
  case 4: $type = '<img src="/img/4.png"  width="64px"/> Самолет 4'; break;
  case 5: $type = '<img src="/img/5.png"  width="64px"/> Самолет 5'; break;
  case 6: $type = '<img src="/img/6.png"  width="64px"/> Самолет 6'; break;

 
  }


  ?>
  <tr class="htt">
  <form method="post" action="">
    <td align="center"><?=$a['id'];?></td>
   <input type="hidden" name="vol" value="<?=$a['id'];?>">
   
   <td align="center"><?=$type;?></td>
   <td align="center"><?=$a['price']* 0.9;?> руб.</td>
   <td align="center"><?=date("d.m.Y", $a['date']);?></td>
   <td align="center"><input type="text" value="<?=$a['kolvo'];?>" class="form-control" name="kolvo" style="width:40px"></td>
   <td align="center"><input type="submit" value="Снять с торгов"  class="btn btn-success btn-sm" /></td>
   </form>
  </tr>
  <? } ?>
</table>

      


   
   
[свернуть]
 
Пользователи, которые поблагодарили этот пост: emre

toliasik

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 10 сообщений
  • Дата регистрации: Март 2017
  • Сообщений: 25
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Биржа самолётов
« Ответ #1 : 14 Сентября 2019, 14:17:08 »
if($db->NumRows() >= 0) {
   $q = $db->FetchArray();
Попробуй так
 
Пользователи, которые поблагодарили этот пост: Ret123r

Ret123rАвтор темы

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2018
  • Сообщений: 10
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Биржа самолётов
« Ответ #2 : 14 Сентября 2019, 16:30:18 »
Спасибо большое!
Проблема решена.


И ещё один вопрос, как отключить сбор продукции?
 

toliasik

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 10 сообщений
  • Дата регистрации: Март 2017
  • Сообщений: 25
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Биржа самолётов
« Ответ #3 : 15 Сентября 2019, 19:47:51 »
И ещё один вопрос, как отключить сбор продукции?

Фаил сбора продукции где ?
 

Ret123rАвтор темы

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2018
  • Сообщений: 10
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Биржа самолётов
« Ответ #4 : 16 Сентября 2019, 04:14:16 »
Фаил сбора продукции где ?


В этом же модуле.
Просто сбор тут мне совсем не нужен, а как правильней убрать не знаю.
 

toliasik

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 10 сообщений
  • Дата регистрации: Март 2017
  • Сообщений: 25
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Биржа самолётов
« Ответ #5 : 11 Октября 2019, 15:50:39 »
Могу помочь чаевые будут ?
 
Пользователи, которые поблагодарили этот пост: Ret123r

Ret123rАвтор темы

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Июнь 2018
  • Сообщений: 10
  • Страна: ru
  • Поблагодарили: 2 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Биржа самолётов
« Ответ #6 : 11 Октября 2019, 17:39:40 »
Могу помочь чаевые будут ?

Проблему уже решил!
 

Geka2018

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 10 сообщений
  • Дата регистрации: Май 2018
  • Сообщений: 12
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
Биржа самолётов
« Ответ #7 : 12 Февраля 2020, 06:11:01 »
Такая же проблема, подскажите пожалуйста решение
Где правильно что заменить чтоб все стало на свои места и заработало.
 

Rich-99000000

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 250 сообщений Репутация более 5 Топ 10 по сообщениям Благодарность от форума Более 10 созданных тем
  • Дата регистрации: Июль 2016
  • Возраст: 28
  • Сообщений: 460
  • Страна: ru
  • Поблагодарили: 136 раз(а)
  • Репутация +6/-2
  • Пол: Мужской
  • моды, сайты на заказ недорого >> ЛС
  • Дата рождения:
    1995-06-28
    Социальные сети:
    ВКонтакте
Биржа самолётов
« Ответ #8 : 12 Февраля 2020, 08:02:48 »
if($db->NumRows() >= 0) {
   $q = $db->FetchArray();
Попробуй так

if($db->NumRows()>0){ // только если есть записи
$q = $db->FetchArray(); // тогда делаем ассоциативный массив
 
Теги: