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

  #1  
Старый 09.08.2009, 09:22
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

fsockopen();
socket_steam_create();
 
Ответить с цитированием

  #2  
Старый 09.08.2009, 15:47
KaMiKadZe
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
С нами: 10635912

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

PHP код:
<?php
class Pages
{
    private 
$table// таблица из которой выводить
    
private $page// страница на которой мы сейчас
    
private $lines// сколько выводить записей
    
private $where// условие вывода из базы
    
private $order_by// группировка вывода из базы
    
public $prefix_p// префикс страницы

    
public function select_page($table$page$lines$where$order_by)
    {
        if(
trim($where)) {
            
$this->where " WHERE ".$where;
        } else {
            
$this->where "";
        }
        if(
trim($order_by)) {
            
$this->order_by " ORDER BY ".$order_by;
        } else {
            
$this->order_by "";
        }

        
$this->page $page 1// чтобы страницы выводились с 0, а считались с 1
        
$this->lines $lines;
        
$this->table $table;
        
$begin $this->page $this->lines;
        
$sql "SELECT * FROM `".$this->table."`".$this->where.$this->order_by.
            
" LIMIT ".$begin.", ".$this->lines;
        
$result mysql_query($sql);
        
$return = array();
        while (
$obj mysql_fetch_object($result))
            
array_push($return$obj);
        return 
$return;
    }
    public function 
link_page()
    {

        
$sql "SELECT COUNT(*) FROM `".$this->table."`".$this->where.$this->order_by;
        
$value mysql_query($sql);
        
$value mysql_fetch_row($value);
        
$alllines $value[0];
        
$str ceil($alllines $this->lines); // общее число страниц
        
if($str <= 6) {

            for (
$i 0$i $str$i++) {
                if(
$i == $this->page) {
                    
$return .= "[".($i 1)."]";
                } else {
                    
$return .= "<a href='".$this->prefix_p."=".($i 1)."'>[".($i 1)."]</a>";
                }
            }
            return 
$return;
        } else {
            
$str $str 3;

            for (
$i 0$i 3$i++) {
                if(
$i == $this->page) {
                    
$return .= "[".($i 1)."]";
                } else {
                    
$return .= "<a href='".$this->prefix_p."=".($i 1)."'>[".($i 1)."]</a>";
                }
            }

            
$return .= "...";
            for (
$a 0$a 3$a++) {
                if(
$str == $this->page) {
                    
$return .= "[".($str 1)."]";
                } else {
                    
$return .= "<a href='".$this->prefix_p."=".($str 1)."'>[".($str 1)."]</a>";
                }
                
$str++;
            }
            return 
$return;
        }
    }
}
?>
Выводиться [1][2][3]...[8][9][10], как сделать чтобы при переходе на 2, 3 и т.д страницы выводились [2][3][4]...[8][9][10], [3][4][5]...[8][9][10] и т.д
Работает так
PHP код:
class->select_page($table,$p,3,$where,$order_by); 
$p это страница на который мы сейчас exapmle.php?p=1 или exapmle.php?p=3...
3 - сколько записей на страницу

Последний раз редактировалось KaMiKadZe; 09.08.2009 в 15:50..
 
Ответить с цитированием

  #3  
Старый 09.08.2009, 15:46
imajo.ati
Участник форума
Регистрация: 21.02.2008
Сообщений: 255
С нами: 9589849

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

как сделать так чтобы вывод текста в PHP CLI автоматически производился в кодировке dos-866 ?
 
Ответить с цитированием

  #4  
Старый 10.08.2009, 03:41
KaMiKadZe
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
С нами: 10635912

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

FireFenix,
спасибо, но моим нужды это не удовлетворились
Пришлось скурить трубку мира и создать то что сам не понимаю, но зато работает как я хотел
Вот пример того как кодить лучше не надо
PHP код:
    public function link_page()
    {

        
$sql "SELECT COUNT(*) FROM `".$this->table."`".$this->where.$this->order_by;
        
$value mysql_query($sql);
        
$value mysql_fetch_row($value);
        
$alllines $value[0];
        
$str ceil($alllines $this->lines); // общее число страниц
        
$return .= "<div class='navigation'>";
        if(
$this->page != 0) {
            
$return .= "<a href='".$this->prefix_p."=".($this->page)."'><</a>";
        } else {
            
$return .= "<span><</span>";
        }
        
$return .= "&nbsp;";
        if(
$this->page != 1) {
            
$return .= "<a href='".$this->prefix_p."=1'>1</a>";
        } else {
            
$return .= "<span>1</span>";
        }

        
$return .= "&nbsp";
        if(
$this->page == $str && $this->page != && $str 2) {
            
$return .= "<a href='".$this->prefix_p."=".($this->page 2)."'>".($this->page -
                
2)."</a>";
            
$return .= "<a href='".$this->prefix_p."=".($this->page 1)."'>".($this->page -
                
1)."</a>";
        }

        if(
$this->page 1) {
            if(
$str && $this->page >= 4) {
                if(
$str >= && ($this->page == $str or $this->page == $str 2)) {
                    if(
$this->page == $str && $str != 5) {
                    } else {
                        
$return .= "<a href='".$this->prefix_p."=".($this->page 2)."'>".($this->page -
                            
2)."</a>";
                    }

                    if(
$this->page == && $str == 6) {
                    } else {
                        
$return .= "<a href='".$this->prefix_p."=".($this->page 1)."'>".($this->page -
                            
1)."</a>";
                    }
                }
            }
            if((
$str && $str && $this->page == $str 2) or ($str == && $this->
                
page == $str 1)) {
                
$return .= "<a href='".$this->prefix_p."=".($this->page 1)."'>".($this->page -
                    
1)."</a>";
            }
            
$return .= "<a href='".$this->prefix_p."=".($this->page)."'>".($this->page).
                
"</a>";
        }

        if(
$this->page != && $this->page && $str != 2) {
            
$return .= "<span>".($this->page 1)."</span>";
        }
        if(
$this->page && $this->page <= $str) {
            
$return .= "<span>".($this->page 1)."</span>";
        }

        if(
$this->page $str) {
            if(
$this->page == 1) {
                
$return .= "<a href='".$this->prefix_p."=".($this->page 2)."'>".($this->page +
                    
2)."</a>";
                if(
$str 3) {
                    
$return .= "<a href='".$this->prefix_p."=".($this->page 3)."'>".($this->page +
                        
3)."</a>";
                }
                if(
$this->page >= $str) {
                } else {
                    if(
$str != 4) {
                        
$return .= "<a href='".$this->prefix_p."=".($this->page 4)."'>".($this->page +
                            
4)."</a>";
                    }
                }

            } else {
                if(
$this->page == 2) {
                    
$return .= "<a href='".$this->prefix_p."=".($this->page 2)."'>".($this->page +
                        
2)."</a>";
                    if(
$str != 4) {
                        
$return .= "<a href='".$this->prefix_p."=".($this->page 3)."'>".($this->page +
                            
3)."</a>";
                    }
                } else {
                    
$return .= "<a href='".$this->prefix_p."=".($this->page 2)."'>".($this->page +
                        
2)."</a>";
                }
            }

        }

        
$return .= "&nbsp";

        if(
$this->page != $str) {
            
$return .= "<a href='".$this->prefix_p."=".$str."'>".$str."</a>";
            
$return .= "&nbsp";
            
$return .= "<a href='".$this->prefix_p."=".($this->page 2)."'>></a>";

        } else {
            if(
$str 1) {
                
$return .= "<span>".$str."</span>";
            }
            
$return .= "<span>></span>";
        }
        
$return .= "</div>";

        return 
$return;

    } 
До сих пор удивляюсь как все работает
 
Ответить с цитированием

  #5  
Старый 10.08.2009, 04:01
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Я просто в шоке кажеться.
Я так понимаю ТС нужна была работающая постраничная навигация? И ради этого он накодил это гнечто? ОМГ.
 
Ответить с цитированием

  #6  
Старый 10.08.2009, 07:22
Вася Рогов
Новичок
Регистрация: 06.07.2009
Сообщений: 18
С нами: 8867721

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

m0Hze, дада, но ТС это топик стартёр, а тот тип просто садомаза))
 
Ответить с цитированием

  #7  
Старый 10.08.2009, 14:11
KaMiKadZe
Участник форума
Регистрация: 24.02.2006
Сообщений: 206
С нами: 10635912

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

Цитата:
Сообщение от m0Hze  
Я просто в шоке кажеться.
Я так понимаю ТС нужна была работающая постраничная навигация? И ради этого он накодил это гнечто? ОМГ.
Ну да нужна была навигация и не просто, а такая которую хочу я =)
Не помню как это писал и до сих пор не пойму как это работает, но работает правильно и так как я хотел =)
Цитата:
Сообщение от Вася Рогов  
m0Hze, дада, но ТС это топик стартёр, а тот тип просто садомаза))
Ничего подобного! =) Я написал то что работает, а дальше уже пофигу Хотя щас понимаю что можно все сделать немного попроще, но лучше не буду трогать, работает да и ладно
Проверил когда всего 1,2,3,4,5,6,8 и больше страниц вроде ничего неправильного не появилось, значит все отлично
p.s Наверное мой код если его можно назвать кодом похож на код который в висте =)
 
Ответить с цитированием

  #8  
Старый 10.08.2009, 13:28
KokauH
Познающий
Регистрация: 30.01.2009
Сообщений: 81
С нами: 9093499

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

Можно ли написать скрипт редиректа с перехватом рефера? Если рефер передаётся, то редирект происходит, а если рефер не передаётся, то редиректа не происходит просто отображается белый экран?
 
Ответить с цитированием

  #9  
Старый 10.08.2009, 13:29
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
С нами: 11278406

Репутация: 818


По умолчанию

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

  #10  
Старый 10.08.2009, 13:52
KokauH
Познающий
Регистрация: 30.01.2009
Сообщений: 81
С нами: 9093499

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

Ну а всё же? Если да, то как будет выглядеть?
В php вообще не силён
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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.