Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 11

Wątek: moduł pracy i brak update

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

    Domyślnie moduł pracy i brak update

    przy pisaniu kolejnego modułu natknąlem sie na mały kłopot
    Kod php:
    private function pracuj()
        {
        
        if (!
    in_array($_POST['czaspracy'], array(1,2,3,4)) || !in_array($_POST['pracuj'],array('money','ziola','ryby')))
                {
                
    $msg 'blad wartosci';
                
    header('Location: index.php?mod=Work&msg=' urlencode($msg));
                exit;
                }
            
        
    $data $this->db->fetchRow('SELECT * FROM `<ezrpg>praca` where login =?',array($this->player->username));
        
            
            
    $czaspracy $_POST['czaspracy']; // czas pracy to wybrany przez gracza czas pracy
            
    $nowezyski 60*$czaspracy// obliczanie zysków z pracy (tu gracz może wpisać swoje dane)
            
    $koniecpracy time()+60*$czaspracy// obliczamy końcowy czas w sekundach
            
            
    $tablica = array( 
                
    'login'=>$this->player->username
                
    'koniec'=>$koniecpracy
                
    'zyski'=>$nowezyski,
                
    'typ'=>$_POST['pracuj']);
            
            if(
    $data->koniec == NULL)
            {     
    // jeżeli koniec w tabeli jest pusty
                
    $this->db->execute('update `<ezrpg>players` set `?`=`?`+? where `id` = ?',array($_POST['pracuj'],$_POST['pracuj'],$nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                
    $this->db->insert('<ezrpg>praca'$tablica);
            }
            else
            {     
    // jeżeli warunek nie został spełniony
                
    $this->db->execute('update `<ezrpg>players` set `?`=`?`+? where `id` = ?',array($_POST['pracuj'],$_POST['pracuj'],$nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                
    $this->db->execute('update `<ezrpg>praca` set `koniec` = ?, `zyski` = ?, `typ` = ? where `id` = ?',array($koniecpracy,$nowezyski,$_POST['pracuj'],$this->player->username)); // updatowanie rekordu w tabeli praca
            
    }

            
    $msg 'Rozpoczales wlasnie prace, bedziesz pracowal przez '.$czaspracy.' godziny.'
            
    header('Location: index.php?mod=Work&msg=' urlencode($msg));
        } 
    oczywiście nie działa tak jak powinno. tylko zapytanie
    Kod php:
    $this->db->insert('<ezrpg>praca'$tablica); 
    działa poprawnie zupełnie nie wiem dlaczego może ktos pomóc??

  2. #2
    Zarejestrowany Awatar richcio
    Dołączył
    Sep 2007
    Posty
    1,022

    Domyślnie

    Spróbuj tak:
    Kod php:
    ='`?`+?' 
    </span></span>

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

    Domyślnie

    to mi w ogóle nie włącza modułu próbowałem juz te nawiasy powstawiać ale coś mi nie idzie

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

    Domyślnie

    używając apostrofów wewnątrz apostrofów, należy używać backslashy: \'
    Pracuję nad:
    Zombie Eatzorz
    <Own FW Based>

    Peace & Love
    GG:5376643

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

    Domyślnie

    żadnej poprawy a może mam cos w smarty
    {include file="header.tpl" TITLE="Ekwipunek"}


    <p>
    {if $data->koniec > $smarty.now and $data->koniec != null}

    <p>Skonczysz prace za {math equation="ceil((x-y)/z)" x=$data->koniec y=$smarty.now z=60 } minut.</p>
    {else}
    Na każdej godzinie pracy zarabiasz 60 zlotych.</br>
    <form action="" method="post">
    Pracuj przez:
    <select name="czaspracy" class="button" >
    <option class="button">1</option>
    <option class="button">2</option>
    <option class="button">3</option>
    <option class="button">4</option>
    </select> godziny.
    <div>Płucz złoto<button type="submit" name="pracuj" value="money">Pracuj</button></div>
    <div>Zbieraj zioła<button type="submit" name="pracuj" value="ziola">Pracuj</button></div>
    <div>Łów ryby<button type="submit" name="pracuj" value="ryby">Pracuj</button></div>
    </form>
    {/if}
    </p>


    {include file="footer.tpl"}
    ale chyba nie bo część się przeciez wykonuje

  6. #6
    Mistrz Joba Awatar Meares
    Dołączył
    Jan 2009
    Posty
    2,630

    Domyślnie

    'update `<ezrpg>players` set `?`=`?`+? where `id` = ?'
    Nie podstawiaj ? w miejsca nazw kolumn.

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

    Domyślnie

    to mam zrobic switcha?? czy jakos to inaczej można to rozwiązać??
    zrobiłem na switchach trochę się przedłużyło ale to nic wielkiego
    Kod php:
    if($data->koniec == null)
                {     
                    switch(
    $_POST['pracuj'])
                    {
                    case 
    'money':
                    
    $this->db->execute('update `<ezrpg>players` set money=money+? where `id` = ?',array($nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                    
    break;
                    
                    case 
    'ziola':
                    
    $this->db->execute('update `<ezrpg>players` set ziola=ziola+? where `id` = ?',array($nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                    
    break;
                    
                    case 
    'ryby':
                    
    $this->db->execute('update `<ezrpg>players` set ryby=ryby+? where `id` = ?',array($nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                    
    break;
                    }
                
    $this->db->insert('<ezrpg>praca'$tablica);
                }
                else
                {     
                switch(
    $_POST['pracuj'])
                    {
                    case 
    'money':
                    
    $this->db->execute('update `<ezrpg>players` set money=money+? where `id` = ?',array($nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                    
    break;
                    
                    case 
    'ziola':
                    
    $this->db->execute('update `<ezrpg>players` set ziola=ziola+? where `id` = ?',array($nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                    
    break;
                    
                    case 
    'ryby':
                    
    $this->db->execute('update `<ezrpg>players` set ryby=ryby+? where `id` = ?',array($nowezyski,$this->player->id)); // dodawanie pięniędzy graczu (przykładowo kasa)
                    
    break;
                    }
                
    $this->db->execute('update `<ezrpg>praca` set `koniec` = ?, `zyski` = ?, `typ` = ? where `id` = ?',array($koniecpracy,$nowezyski,$_POST['pracuj'],$this->player->username)); // updatowanie rekordu w tabeli praca
                

    ten if działa
    Kod php:
    if($data->koniec == null
    niestety jego else juz mi się nie wykonuje. dlaczego??
    Ostatnio edytowane przez toriam ; 12-10-2010 o 18:27

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

    Domyślnie

    if(!isset($data->koniec))
    lub
    if($data->koniec===NULL)
    Pracuję nad:
    Zombie Eatzorz
    <Own FW Based>

    Peace & Love
    GG:5376643

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

    Domyślnie

    else chyba działa tylko jest problem z tym zapytaniem
    Kod php:
    $this->db->execute('update `<ezrpg>praca` set `koniec` = ?, `zyski` = ?, `typ` = ? where `id` = ?',array($koniecpracy,$nowezyski,$_POST['pracuj'],$this->player->username)); 
    czemu mi to nie działa

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

    Domyślnie

    `id` = $this->player->username.
    ?
    id to nie string.
    Pracuję nad:
    Zombie Eatzorz
    <Own FW Based>

    Peace & Love
    GG:5376643

Strona 1 z 2 12 OstatniOstatni

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. moduł sklepu brak wyświetlania
    Przez toriam w dziale Tworzenie
    Odpowiedzi: 5
    Ostatni post / autor: 03-10-2010, 19:26
  2. Pieniądze z pracy.
    Przez takToJa w dziale Race
    Odpowiedzi: 0
    Ostatni post / autor: 08-07-2009, 19:33
  3. Gra jako moduł apache
    Przez Zoran w dziale Kosz
    Odpowiedzi: 2
    Ostatni post / autor: 07-03-2009, 16:45

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
  •