Pokaż wyniki od 1 do 7 z 7

Wątek: Sklep

  1. #1
    Zarejestrowany
    Dołączył
    Jan 2010
    Posty
    78

    Domyślnie Sklep

    Piszę tutaj choć pewnie mój moduł nie jest zbyt dobry ale chce rozruszać troche ten dział jeśli mam błędy pisać.
    A więc najpierw tworzymy dwie tabele
    Kod php:
    CREATE TABLE `ezrpg`.`sklep` (
    `
    idINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `
    nazwaVARCHAR50 NOT NULL ,
    `
    atakSMALLINT NOT NULL ,
    `
    miejsceINTNOT NULL ,
    `
    cenaSMALLINT(6)

    ENGINE InnoDB
    oraz
    Kod php:
    CREATE TABLE `ezrpg`.`ekwipunek` (
    `
    idINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `
    ownerINT11 NOT NULL ,
    `
    atakSMALLINT NOT NULL ,
    `
    stanINT(1NOT NULL,
    `
    miejsceINTNOT NULL ,
    `
    nazwaVARCHAR(50NOT NULL
    ENGINE InnoDB
    i parę słów objaśnienia kolumna `miejsce` odnosi się do miejsca gdzie ma się znajdować dane rzecz np. spodnie = 1, buty =2 itd.
    oczywiście musiscie każdy wg uznanania dodać parę rekordów do tabeli `sklep`
    a teraz moduł
    Kod php:
    <?php

    defined
    ('IN_EZRPG') or exit;

    class 
    Module_Shop extends Base_Module
    {
        public function 
    start()
        {
            
    requireLogin();
        
            
    $wiersz $this->db->execute('SELECT * FROM `<ezrpg>sklep`');
            
    $shop $this->db->fetchAll($wiersz);
            
            
    $wiersz2 $this->db->execute('SELECT * FROM `<ezrpg>ekwipunek` WHERE `owner`=? ORDER BY `atak` ASC',array($this->player->id));
            
    $sprzedaj $this->db->fetchAll($wiersz2);
            
            if(isset(
    $_GET['kup']))
            {
            
    $this->kup();
            }
            
            if(isset(
    $_GET['sprzedaj']))
            {
            
    $this->sprzedaj();
            }
            
            
            
    $this->tpl->assign('kup',$shop);
            
    $this->tpl->assign('sprzedaj',$sprzedaj);
            
    $this->tpl->display('shop.tpl');
        }
        
        private function 
    kup()
        {
        
         if (
    ereg("^[0-9]*$"$_GET['kup']) && !empty($_GET['kup']))
        {
            
    $check $this->db->fetchRow('SELECT * FROM `sklep` WHERE `id`=?',array($_GET['kup']));
            if (
    $check == true)
            {
                if (
    $this->player->money >= $check->cena)
                {
                    
    $tablica = array(
                        
    'owner'=>$this->player->id,
                        
    'atak'=>$check->atak,
                        
    'nazwa'=>$check->nazwa,
                        
    'miejsce'=>$check->miejsce);
                    
                    
    $this->db->insert('`<ezrpg>ekwipunek`',$tablica);
                    
    $this->db->execute('UPDATE `<ezrpg>players` SET `money`=`money`-? WHERE `id`=?',array($check->cena,$this->player->id));
                    
                    
    $msg 'Zakupiono przedmiot';
                       
    header('Location: index.php?mod=Shop&msg=' urlencode($msg));
                }else 
    $msg 'Nie stac cie';
            }
            else{
            
    $msg 'Nie ma takiego przedmiotu w sklepie!';}
        }
        else{
        
    $msg 'Nieprawidlowa wartosc';}
        
        
    header('Location: index.php?mod=Shop&msg=' urlencode($msg));
        }
        
        private function 
    sprzedaj()
        {
        if (
    ereg("^[0-9]*$"$_GET['sprzedaj']) && !empty($_GET['sprzedaj']))
        {
            
    $check $this->db->fetchRow('SELECT * FROM `<ezrpg>ekwipunek` WHERE `id`=? AND `owner`=?',array($_GET['sprzedaj'],$this->player->id));
            if (
    $check == true)
            {
                if (
    $check->stan==0)
                {
                   
    $this->db->execute('DELETE FROM `<ezrpg>ekwipunek` WHERE `id`=? AND `owner`=?',array($_GET['sprzedaj'],$this->player->id));
                  
                   
    $msg 'Przedmiot zostal sprzedany';
                }
                else 
    $msg 'Ten przedmiot masz aktualnie na sobie';
            }
            else 
    $msg 'Nie masz takiego przedmiotu';
        }
        else 
    $msg 'Nieprawidlowa wartosc';
        
        
    header('Location: index.php?mod=Shop&msg=' urlencode($msg));
        }
    }
    ?>
    oraz smarty
    Kod php:
    {include file="header.tpl" TITLE="Sklep"}


        <
    p>
        <
    h1>Sklep</h1>
        <
    table>
        
        <
    tr>
            <
    td><p>Nazwa</p></td>
            <
    td><p>Atak</p></td>
            <
    td><p>Cena</p></td>
            <
    td><p>Ilość</p></td>
            <
    td><p>Opcje</p></td>
        </
    tr>
        
        {foreach 
    from=$kup item=shop}
        <
    tr>
            <
    td>{$shop->nazwa}</td>
            <
    td>{$shop->atak}</td>
            <
    td>{$shop->cena}</td>
            <
    td>{$shop->ilosc}</td>
            <
    td><a href="index.php?mod=Shop&kup={$shop->id}">Kup</a></td>
            
            
        </
    tr>
        {/foreach}
        
        {foreach 
    from=$sprzedaj item=sprzedaj}
        <
    tr>
            <
    td>{$sprzedaj->nazwa}</td>
            <
    td>{$sprzedaj->atak}</td>
            <
    td></td>
            <
    td></td>
            <
    td><a href="index.php?mod=Shop&sprzedaj={$sprzedaj->id}">Sprzedaj</a></td>
        </
    tr>
        {/foreach}
        
        </
    table>
        </
    p>


    {include 
    file="footer.tpl"
    dziękuję za uwagę
    P.S kod mysql pisałem z głowy ale powinnien byc dobry
    P.P.S mod zawiera funkcję fetchAll() dostępną w wersji 1.0.1
    Ostatnio edytowane przez Migo ; 31-12-2011 o 11:05

  2. #2
    Zarejestrowany Awatar Zapper
    Dołączył
    Jan 2009
    Posty
    246

    Domyślnie

    Gj! :d
    Pracuję nad:
    Zombie Eatzorz
    <Own FW Based>

    Peace & Love
    GG:5376643

  3. #3
    Zarejestrowany
    Dołączył
    Oct 2011
    Posty
    5

    Domyślnie

    Mi nie działa daje cene 20 ja mam 9000 i pisze "nie stac cie"

  4. #4
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Wg. mnie sprawdzenie wygląda dobrze, wgraj jeszcze raz.

  5. #5
    Zarejestrowany
    Dołączył
    Jan 2010
    Posty
    78

    Domyślnie

    moje przeoczenie w warunku usuń
    Kod php:
    AND $check->ilosc>=
    byłem w trakcie przerabiania tego skryptu i nie pamiętam skąd wziął mi się ten warunek

  6. #6
    Zarejestrowany Awatar Migo
    Dołączył
    Aug 2011
    Posty
    905

    Domyślnie

    Poprawiłem pierwszy temat pod tym względem.

  7. #7
    Zarejestrowany
    Dołączył
    Oct 2011
    Posty
    5

    Domyślnie

    Wgrałem wszystko jeszcze raz ten sam błąd ale teraz jeszcze nie wyświetla mi rzeczy.

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Sklep
    Przez Grajek w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 10
    Ostatni post / autor: 20-03-2010, 21:05
  2. sklep sms
    Przez tiger04 w dziale Pytania dotyczące silnika Xnova
    Odpowiedzi: 34
    Ostatni post / autor: 28-01-2010, 20:59
  3. Sklep
    Przez Patrichi w dziale Grand Theft Auto RPG
    Odpowiedzi: 2
    Ostatni post / autor: 22-11-2009, 21:06
  4. Sklep
    Przez Armed79 w dziale Budowa gry via www
    Odpowiedzi: 19
    Ostatni post / autor: 05-03-2008, 18:51
  5. Sklep
    Przez Yahooo w dziale prp
    Odpowiedzi: 3
    Ostatni post / autor: 29-10-2007, 22:57

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •