Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Оффтопик от непонимания главной идеи библиотеки (Зарипов Руслан)
Author Message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 414
   поощрить/наказать


PostPosted: Fri Dec 09, 2005 3:52 pm ()
   Post subject:
Reply with quote


М

Выделено из темы «6_DbSimple: лаконичная работа с различными СУБД»,
расположенной в форуме Конструктор (10 Декабря 2005, 16:39).
Back to top
View user's profile Send private message Send e-mail
Зарипов Руслан
Заглянувший



Joined: 09 Dec 2005
Posts: 1
Карма: 0
   поощрить/наказать


PostPosted: Fri Dec 09, 2005 3:53 pm (спустя 1 секунду; написано за 2 минуты 2 секунды)
   Post subject: Продолжим...
Reply with quote

Исправления в методе selectPage
Code (php): скопировать код в буфер обмена
        function selectPage(&$total, $query)
        {
                $args = func_get_args (www.php.net/func_get_args)();
                array_shift (www.php.net/array_shift)($args);
                return new DbSimple_Abstract_Result($this->_query($args, $total=false));
        }
Сам класс резульата запроса
Code (php): скопировать код в буфер обмена
class DbSimple_Abstract_Result {
  private $current_row = 0;
  private $total_rows = 0;
  private $rows = array (www.php.net/array)();

  function __construct($result) {
    if (!is_array (www.php.net/is_array)($result)) {
      $this->rows[] = $result;
    }
    else {
      $this->rows = $result;
    }
    $this->total_rows = count (www.php.net/count)($this->rows);
  }

  public function next (www.php.net/next)() {
    if ($this->current_row > $this->total_rows-1 || $this->total_rows == 0) {
      $this->reset();
      return false;
    }
    return $this->rows[$this->current_row++];
  }

  public function reset (www.php.net/reset)() {
    $this->current_row = 0;
  }

  public function is_first() {
    if ($this->current_row == 0 && $this->total_rows > 0) {
      return true;
    }
    return false;
  }

  public function is_last() {
    if ($this->current_row == $this->total_rows-1 && $this->total_rows > 0) {
      return true;
    }
    return false;
  }

  public function current (www.php.net/current)() {
    return $this->current_row;
  }

  public function total() {
    return $this->total_rows;
  }
}
з.ы. Да, я ламер в PHP и ООП, и много не знаю, но в ваших силах сделать из идеи нормальное решение.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You cannot download files in this forum.
XML