Продажа рассовых шмот

Статус
В этой теме нельзя размещать новые ответы.

6matko

Старейшина
Репутация
15 / 1 164
Здрасвтуй, Форум :)

Вобщем, столкнулся я с такой пробемой:
Решил зделать продажу рассовых шмот в рассовом магазине за СЗ(f_credits)

Всё вроде бы работает, только вот...
Список вещей которых можно продать такой же как и в простом магазине только за СЗ продовать.

Вопрос: Не знаете как зделать, чтоб в етом списке(что продать) были только рассовыи шмотки

(как вобще они определяются ? по расе только ? или может надо зделать ещё проверку у шмот на расу ? вобщем жду идей
(СПАСИБО ТЫРКНУТЬ НЕ ЗАЖМУСЬ, за помощь очень часто благодарен) - почти всегда :)
 
вытягивай из любой версии магазин))
про саму работу магазина ничего не скажу т.к с ними не разбирался(
 
Здрасвтуй, Форум :)

Вобщем, столкнулся я с такой пробемой:
Решил зделать продажу рассовых шмот в рассовом магазине за СЗ(f_credits)

Всё вроде бы работает, только вот...
Список вещей которых можно продать такой же как и в простом магазине только за СЗ продовать.

Вопрос: Не знаете как зделать, чтоб в етом списке(что продать) были только рассовыи шмотки

(как вобще они определяются ? по расе только ? или может надо зделать ещё проверку у шмот на расу ? вобщем жду идей
(СПАСИБО ТЫРКНУТЬ НЕ ЗАЖМУСЬ, за помощь очень часто благодарен) - почти всегда :)

Делается просто.
1. Проверь есть ли в таблице objects строка где ставится флаг рассового шмота.
2. Тоже самое смотрим в items, и не забываем при добавлении новых вещей ставить флаги по типу рассы.
3. Добавляем в базе эти вещи в твой новый магазин
3. В магазине смотрим файл otdels.php
там должна быть строчка примерно такого вида:
Код:
        $shop=mysql_query("SELECT shop.*, items.* FROM shop, items where shop.otdel=".addslashes($otdel)." AND items.name=shop.name ORDER BY items.price");

вот в ней и ставь выборку по рассе
 
Теперь новая проблема:

Код:
$it_sost=mysql_query("SELECT objects.*,items.`rase` FROM objects, items, slots where objects.user='".$stat['user']."' AND objects.present=0 AND items=".$stat['rase']." AND slots.id=".$stat['id']." && objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19) ORDER BY time desc");

7й строка:
Код:
for($i=0; $i<mysql_num_rows($it_sost); $i++) {


Проблема в продаже:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in X:\home\127.0.0.1\ooo\inc\shop\sale_tt.php on line 7

Может кто подправить $it_sost плз, а то уже хз как и чё править. Мне надо, чтоб шмот отоброжались если в items race=1-4 а если 0 или больше 4 то не показывать.
 
Код:
$it_sost=mysql_query("SELECT objects.* FROM objects, items, slots where objects.user='".$stat['user']."' AND objects.present=0 AND objects.komis=0 AND objects.bank=0 AND items=".$stat['rase']." AND slots.id=".$stat['id']." && objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19) ORDER BY time desc");

Пробуй так!
 
Код:
$it_sost=mysql_query("SELECT objects.*,items.*,slots.* FROM objects, items, slots where objects.user='".$stat['user']."' AND objects.present=0 AND items=".$stat['rase']." AND slots.id=".$stat['id']." && objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19) ORDER BY time desc");
 
попробовал способ coped'a , создал в objects поле аналогичное в items: min_rase теперь, надо зделать проверку в $it_sost помоему чтоб на 7й строке проблем не было и чтоб отоброжались шмот у которых objects.min_rase=>1 && <=4
 
Попытка номер 2


Код
Код:
$it_sost=mysql_query("SELECT objects.*,items.*,slots.* FROM objects, items, slots where objects.user='".$stat['user']."' AND objects.present=0 AND items=".$stat['rase']." AND slots.id=".$stat['id']." && objects.id NOT IN (Select slots.1, slots.2, slots.3, slots.4, slots.5, slots.6, slots.7, slots.8, slots.9, slots.10, slots.11, slots.12, slots.13, slots.14, slots.15, slots.16, slots.17, slots.18, slots.19 From slots) ORDER BY time desc");

Найдено тут http://www.weblibrary.biz/mysql/sintaksis-...sis-podzaprosov

SELECT * FROM tl WHERE id NOT IN (SELECT id FROM t2);
 
Спасибо огромное всем, и прошу прощение за то что **** моск )))

ОГОРОМНОЕ СПС coped !
Просьба нажать ему ещё спасибо, потому-что я больще 1 раза не могу =)

Скрипт продования рассовых вещей за СЗ:

1) nshop.php

Код:
if (!empty($buy)) include("inc/shop/buy_tt.php");
        if (!empty($sale))
                include("inc/shop/sale_fnc_tt.php");

Код:
print"<table width=100% cellspacing=0 cellpadding=5 border=0>
<tr>
<td>  [b]У Вас на счету:[/b] [u]".$stat['f_credits']."[/u] [b]сз.[/b]
</td>
<td align=right valign=top>

        <img src='i/shop_sale.gif' style='CURSOR: Hand' alt='Продать предметы' onclick='window.location.href=\"nshop.php?otdel=200&tmp=\"+Math.random();\"\"'>


<img src='i/refresh.gif' style='CURSOR: Hand' alt='Обновить' onclick='window.location.href=\"nshop.php?otdel=$otdel&tmp=\"+Math.random();\"\"'>

<img src='i/back.gif' style='CURSOR: Hand' alt='Вернуться' onclick='window.location.href=\"world.php?room=0&tmp=\"+Math.random();\"\"'> 

</td>
</tr>
</table>";
думаю найдёте куда поставить (уже готовый код, замените только на старый)

в конце nshop.php

Код:
        <FIELDSET><LEGEND><a class=ch>";
        if ($otdel != 200) echo"Ассортимент товаров отдела \"".$otdels[$otdel]."\" ";
        else echo"Ассортимент Ваших предметов ";

        echo"</a></LEGEND>

        <table width=100% cellspacing=0 cellpadding=5 border=0>
        <tr>
        <td>

        <table width=100% cellspacing=0 border=0 cellpadding=5 style='border-style: outset; border-width: 2'>
        <tr>
        <td>
        ";

        if ($otdel == 200) include('inc/shop/sale_tt.php');
        else include('inc/shop/_otdels_tt.php');

        echo"
        </td>
        </tr>
        </table>

        </td>
        </tr>
        </table>

        </FIELDSET>



        </td>
        </tr>
        </table>
        ";

        echo"
        </td>
        </tr>
        </table>";
}
?>

тоже заменить!

2) inc/main/shop
sale_tt.php - заменить весь код $it_sost на:
Код:
$it_sost=mysql_query("SELECT objects.* FROM objects, slots where objects.user='".$stat['user']."' AND objects.present=0 AND objects.min_rase>=1 && objects.min_rase <=4 AND slots.id=".$stat['id']." && objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19) ORDER BY time desc");



sale_fnc.tt.php (файл целиком):
Код:
<?

if (!empty($sale) && is_numeric($sale)) {
    // Продаем
    $sale = addslashes($sale);

    $is_ex=mysql_fetch_array(mysql_query("SELECT objects.`id`,objects.`inf`,objects.`tip` FROM objects, slots WHERE objects.user='".$stat['user']."' AND objects.present=0 && objects.id=".addslashes($sale)." AND slots.id=".$stat['id']." && objects.id NOT IN (slots.1,slots.2,slots.3,slots.4,slots.5,slots.6,slots.7,slots.8,slots.9,slot
s.10,slots.11,slots.12,slots.13,slots.14,slots.15,slots.16,slots.17,slots.18,slo
t
s.19)"));
    
    $is_ex_inf=explode("|",$is_ex['inf']);
    
    if (!empty($is_ex_inf['0'])) {
        if ($is_ex['tip'] != 12) {
            $price=round($is_ex_inf['2']*0.6);
            
            mysql_query("DELETE FROM objects WHERE id=".addslashes($sale)."");
            mysql_query("UPDATE players SET f_credits=f_credits+".$price." WHERE id=".$stat['id']."");
            
            $stat['f_credits']+=$price;
            
            $msg="Вы удачно продали предмет [u]".$is_ex_inf['1']."[/u] за [u]".$price."[/u] сз.";
            
            $is_ex_inf['0'] = "";
        }
        else $msg="Предмет [u]".$is_ex_inf['1']."[/u] не подледжит продаже!";
    }
    else echo"Предмет не найден в Вашем рюкзаке!";
}
?>

buy_tt.php - заменить весь код $result2 на:
Код:
                                                $result2 = mysql_query("INSERT INTO `objects` (`user`,`inf`,`min`,`tip`,`br1`,`br2`,`br3`,`br4`,`br5`,`min_d`,`max_d`,`hp`,`energy`,`strength`,`dex`,`agility`,`vitality`,`razum`,`krit`,`unkrit`,`uv`,`unuv`,`min_rase`,`time`) VALUES ('".$stat['user']."','".$inf."','".$min."','".$buyitem['tip']."','".$buyitem['br1']."','".$buyitem['br2']."','".$buyitem['br3']."','".$buyitem['br4']."','".$buyitem['br5']."','".$buyitem['min']."','".$buyitem['max']."','".$buyitem['hp']."','".$buyitem['energy']."','".$buyitem['strength']."','".$buyitem['dex']."','".$buyitem['agility']."','".$buyitem['vitality']."','".$buyitem['razum']."','".$buyitem['krit']."','".$buyitem['unkrit']."','".$buyitem['uv']."','".$buyitem['unuv']."','".$buyitem['min_rase']."','".time()."')");

3) Создать в таблицы objects создать поле min_rase int(1) not null (по default пусто)

Про спасибо не забываем и про coped'a тоже(отблагодарите его :) ) тоже!

//STEAM
Личная прозьба любые маты закрывать в ****)) А за гайд маладец. будет добавлено.
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

Сверху