HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 12.02.2009, 16:55
Gadik
Участник форума
Регистрация: 29.05.2006
Сообщений: 148
Провел на форуме:
1159891

Репутация: 30
По умолчанию

спасибо! про место вопроса поздно понял)
 
Ответить с цитированием

  #2  
Старый 12.02.2009, 17:34
-=Static=-
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме:
347573

Репутация: 185
По умолчанию

Покажи исходник класса DBObject
 
Ответить с цитированием

  #3  
Старый 12.02.2009, 18:02
Маркиза
Новичок
Регистрация: 11.02.2009
Сообщений: 21
Провел на форуме:
36983

Репутация: 0
По умолчанию

PHP код:
<?php

require_once(dirname(__FILE__) . '/DB.php');

class 
DBObject 
{

    public 
$table '';
    
    private 
$id null;
    
    public function 
__construct()
    {
        return 
$this;
    }
    
    public static function 
create()
    {
        return new 
self();
    }
    
    public static function 
getById($groupId)
    {
        
$new = new self();
        
$new->loadById($groupId);
        
        return 
$new;
    }
    
    public function 
loadById($groupId)
    {
        
$query 'SELECT * FROM ' $this->table ' WHERE id = ' $groupId;
        
        
$result DB::selectQuery($query);
        
        if (
$result->count == 0
            return 
false;
            
        
$row $result->fetchRow();
        
        
$this->makeObject($row);
        
        return 
$this;
    }
    
    public function 
makeObject($array = array())
    {
        
$this->id $array['id'];
        
        return 
$this;
    }
    
    public function 
getId()
    {
        return 
$this->id;
    }
    
    protected function 
makeArray()
    {
        return array(
            
'id' => $this->getId()
        );
    }
    
    public function 
delete()
    {
        if (!
$this->getId())
            return 
$this;
            
        
$query 'DELETE FROM ' $this->table ' WHERE id = ' $this->getId();
        
        
DB::execQuery($query);
        
        return 
$this;
    }
    
    public function 
save()
    {
        if (
$this->getId()) {
            return 
$this->update();
        } else {
            return 
$this->add();
        }
    }
    
    public function 
update()
    {
        
$arr $this->makeArray();
        
        unset(
$arr['id']);
        
        
$query 'UPDATE ' $this->table ' SET ';
        
        
$i 0;
        
        foreach(
$arr as $key => $value) {
            
$i++;
            
            if (
$i 1) {
                
$query .= ', ';
            }
            
            
$query .= $key ' = "' $value '"';
        }
        
        
$query .= 'WHERE id = ' $this->getId();
        
        
DB::execQuery($query);
        
        return 
$this;
    }
    
    public function 
add()
    {
        
$arr $this->makeArray();
        
        if (isset(
$arr['id'])) {
            unset(
$arr['id']);
        }
        
        
$query 'INSERT INTO ' $this->table ' (' implode(', 'array_keys($arr)) . ')';
        
$query .= 'VALUES (';
        
        
$i 0;
        
        foreach(
$arr as $value) {
            
$i++;
            
            if (
$i 1) {
                
$query .= ', ';
            }
            
            
$query .= '"' $value '"';
        }
        
        
$query .= ')';
        
        
$this->id DB::insertQuery($query);
Вот он
 
Ответить с цитированием

  #4  
Старый 12.02.2009, 18:13
-=Static=-
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме:
347573

Репутация: 185
По умолчанию

Косяк в том что в классе Group в методе:
PHP код:
 public static function getById($groupId
    { 
        
$new = new self(); 
        return 
$new->loadById($groupId); 
    } 
Возвращается объект типа DBObject, а не Group... А у того в свою очередь нет метода getName()
 
Ответить с цитированием

  #5  
Старый 12.02.2009, 18:14
Маркиза
Новичок
Регистрация: 11.02.2009
Сообщений: 21
Провел на форуме:
36983

Репутация: 0
По умолчанию

А подскажи плиз как этот косяк исправить буду очень признательна
 
Ответить с цитированием

  #6  
Старый 12.02.2009, 18:19
-=Static=-
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме:
347573

Репутация: 185
По умолчанию

Полагаю так, заменить тот метод что есть на вот такой:
PHP код:
public static function getById($groupId)  
    {  
        
$new = new self();  
        
$new->loadById($groupId);  

        return 
$new;
    } 
 
Ответить с цитированием

  #7  
Старый 12.02.2009, 18:22
Маркиза
Новичок
Регистрация: 11.02.2009
Сообщений: 21
Провел на форуме:
36983

Репутация: 0
По умолчанию

Щас попробую после отпишусь)
 
Ответить с цитированием

  #8  
Старый 12.02.2009, 19:10
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

А точно по средствам PHP не получится написать такой таймер который я описывал?


Чтоб человек смог выйти со старице а таймер дошёл до нужной точки, выполнил запрос в Бд и затем запустился ещё 1 таймер который потом отправил ещё запрос...

Пример я нашёл в игре (Tribal Wars) http://voyna-plemyon.ru/
Там допустим отправляешь на вражескую деревню отряд...и он начинает идти до неё (таймер работает) затем отправляется запрос в БД (нападение само) и потом начинает идти 2 таймер(возвращение отряда)

sleep как я понел не будет работать если пользователь покинет страницы...+больная нагрузка на сервер
Крон каждую секунду...тоже нагрузка....


А как сделанно у них?
 
Ответить с цитированием

  #9  
Старый 12.02.2009, 19:20
MaTpOc
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме:
10311449

Репутация: 1357


По умолчанию

А как мне сделать так, чтоб допустим после определенного символа в файле все что идет после него засовывалось в другой файл?
 
Ответить с цитированием

  #10  
Старый 12.02.2009, 19:43
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


По умолчанию

Цитата:
Сообщение от MaTpOc  
А как мне сделать так, чтоб допустим после определенного символа в файле все что идет после него засовывалось в другой файл?
PHP код:
$search 'h1'//Что ищем
$filename "../ip/tema.txt"// Файло, где ищем
$handle fopen($filename"r"); 
$s fread($handlefilesize($filename));
$a strpos($s,$search);
If(
$a)  $text substr($s,$a);
fclose($handle);
$handle1 fopen("tema1.txt""w");
fwrite($handle1,$text "\r\n");
fclose($handle1);
?> 
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.