Вниз  PHP
- 30.07.2013 / 23:59
web_demon
  Супервизор

web_demon 
Сейчас: Offline
HaLk, выложи кусок кода как он есть.
- 31.07.2013 / 00:08
HaLk
  Пользователь

HaLk 
Сейчас: Offline
  1. <?php
  2.  
  3.         $q = mysql_query("SELECT `tip`,`pictip`,`bonus`,`id`,`name`,`lvls`,`atak`,`hp`,`energi`,`zashita` FROM `rukzak` WHERE `user_id`='$seid' AND `hash`='$hash' ORDER by `pos_num` LIMIT 20");
  4.         if(mysql_num_rows($q))  {
  5.         while($row = mysql_fetch_assoc($q)) {
  6.           //определяем сумму статов
  7.           $stat_nadetogo = mysql_fetch_assoc(mysql_query("SELECT `atak`,`hp`,`energi`,`zashita` FROM `mysnaryga` WHERE `user_id`='$seid' AND `hash`='$hash' AND `tip`='".$row['tip']."'"));
  8.           $summ_1 = $stat_nadetogo['atak'] + $stat_nadetogo['hp'] + $stat_nadetogo['energi'] + $stat_nadetogo['zashita'];
  9.           $summ_2 = $row['atak'] + $row['hp'] + $row['energi'] + $row['zashita'];
  10.           $summ = $summ_2 - $summ_1;
  11.           if ($summ > '0') {
  12.               $text_summ = $summ; } else { $text_summ = null; }
  13.           //меняем цвет уровня веши
  14.           if($user_data['lvl'] >= $row['lvls'])  {
  15.                 $color = '#00bb00';
  16.                 } else {
  17.                    $color = '#ff0000'; }
  18.             echo '<div class="menu">
  19.                         <table><tr>
  20.                             <td><img src="images/shmot/'.$row['tip'].'/'.$row['pictip'].'.png"/></td>
  21.                         <td valign="top"><img src="images/bonus/'.$row['bonus'].'.png"><small><a href="?act=rukzak&int=info&id='.$row['id'].'"/>'.$row['name'].'</a><br/>
  22.                       <font color="'.$color.'">'.$row['lvls'].'</font> уровень '.
  23.                        (isset($text_summ) ? '<font color="#00bb00">+<b>'.$text_summ.'</b></font>' : '').'<br /></small>
  24.                       </td>
  25.                         </tr></table>
  26.                      <center><span class="butna"><a href="?act=rukzak&int=odet&id='.$row['id'].'"><span class="my_button">Надеть</span></a></span></center>
  27.                     </div>
  28.            <div class="separator-dotted"></div>';
  29.             }
  30.         } else {
  31.             echo '<div class="menu">Рюкзак пуст</div>'; }
  32. ?>

- 31.07.2013 / 00:11
HaLk
  Пользователь

HaLk 
Сейчас: Offline
структуру изменил в базе, имена разные.
- 31.07.2013 / 00:21
web_demon
  Супервизор

web_demon 
Сейчас: Offline
HaLk, проверяй
  1. $q = mysql_query("SELECT `rukzak`.*, `mysnaryga`.`atak` AS `atak2`, `mysnaryga`.`hp` AS `hp2`, `mysnaryga`.`energi` AS `energi2`, `mysnaryga`.`zashita` AS `zashita2`, `mysnaryga`.`tip` FROM `rukzak` LEFT JOIN `mysnaryga` ON `rukzak`.`tip` = `mysnaryga`.`tip` WHERE `rukzak`.`user_id`='$seid' AND `rukzak`.`hash`='$hash' ORDER by `rukzak`.`pos_num` LIMIT 20");
  2.                if(mysql_num_rows($q))  {
  3.                while($row = mysql_fetch_assoc($q))     {
  4.                  //определяем сумму статов
  5.                  //$stat_nadetogo = mysql_fetch_assoc(mysql_query("SELECT `atak`,`hp`,`energi`,`zashita` FROM `mysnaryga` WHERE `user_id`='$seid' AND `hash`='$hash' AND `tip`='".$row['tip']."'"));
  6.                  $summ_1 = $row['atak2'] + $row['hp2'] + $row['energi2'] + $row['zashita2'];
  7.                  $summ_2 = $row['atak'] + $row['hp'] + $row['energi'] + $row['zashita'];
  8.                  $summ = $summ_2 - $summ_1;
  9.                  if ($summ > '0') {
  10.                      $text_summ = $summ; } else { $text_summ = null; }
  11.                  //меняем цвет уровня веши
  12.                  if($user_data['lvl'] >= $row['lvls'])  {
  13.                            $color = '#00bb00';
  14.                            } else {
  15.                               $color = '#ff0000'; }
  16.                echo '<div class="menu">
  17.                                       <table><tr>
  18.                                       <td><img src="images/shmot/'.$row['tip'].'/'.$row['pictip'].'.png"/></td>
  19.                               <td valign="top"><img src="images/bonus/'.$row['bonus'].'.png"><small><a href="?act=rukzak&int=info&id='.$row['id'].'"/>'.$row['name'].'</a><br/>
  20.                     <font color="'.$color.'">'.$row['lvls'].'</font> уровень '.
  21.                       (isset($text_summ) ? '<font color="#00bb00">+<b>'.$text_summ.'</b></font>' : '').'<br /></small>
  22.                     </td>
  23.                               </tr></table>
  24.                        <center><span class="butna"><a href="?act=rukzak&int=odet&id='.$row['id'].'"><span class="my_button">Надеть</span></a></span></center>
  25.                       </div>
  26.          <div class="separator-dotted"></div>';
  27.                }
  28.                } else {
  29.                        echo '<div class="menu">Рюкзак пуст</div>'; }

- 31.07.2013 / 00:32
HaLk
  Пользователь

HaLk 
Сейчас: Offline
web_demon, получилось что скрипт с базы mysnaryga прихватил данные другого пользователя.
- 31.07.2013 / 00:41
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Тогда так
  1. $q = mysql_query("SELECT `rukzak`.*, `mysnaryga`.`atak` AS `atak2`, `mysnaryga`.`hp` AS `hp2`, `mysnaryga`.`energi` AS `energi2`, `mysnaryga`.`zashita` AS `zashita2`, `mysnaryga`.`tip` FROM `rukzak` LEFT JOIN `mysnaryga` ON (`rukzak`.`tip` = `mysnaryga`.`tip` AND `rukzak`.`user_id` = `mysnaryga`.`user_id`) WHERE `rukzak`.`user_id`='$seid' AND `rukzak`.`hash`='$hash' ORDER by `rukzak`.`pos_num` LIMIT 20");

- 31.07.2013 / 00:43
HaLk
  Пользователь

HaLk 
Сейчас: Offline
web_demon, если названия полей в таблице сделать одинаковыми, то берёт чужие данные, а если изменить имена то ошибка
Notice: Undefined index: atak in /mnt/sdcard/htdocs/mt/pages/rukzak/index.php on line 195
без вывода $text_summ
- 31.07.2013 / 00:45
web_demon
  Супервизор

web_demon 
Сейчас: Offline
HaLk, http://annimon.com/forum/?act=post&id=280549 это пробовал?
- 31.07.2013 / 00:51
HaLk
  Пользователь

HaLk 
Сейчас: Offline
вот с этим работает когда имена в двух таблицах одинаковы, если переменовать то Notice
- 31.07.2013 / 00:55
web_demon
  Супервизор

web_demon 
Сейчас: Offline
HaLk, ну так правильно.
Если переименовывать, делать так
$q = mysql_query("SELECT `rukzak`.*, `mysnaryga`.* FROM `rukzak` LEFT JOIN `mysnaryga` ON (`rukzak`.`tip` = `mysnaryga`.`tip` AND `rukzak`.`user_id` = `mysnaryga`.`user_id`) WHERE `rukzak`.`user_id`='$seid' AND `rukzak`.`hash`='$hash' ORDER by `rukzak`.`pos_num` LIMIT 20");
  В общем почитай про LEFT JOIN и AS, один раз разберешься, потом будет гораздо проще.
Наверх  Всего сообщений: 1350
Фильтровать сообщения
Поиск по теме
Файлы топика (36)