чёта работает как то нетак.....не считает страницы и ссылку не правельно выводит Вот запрос: PHP: <? $r2 = mysql_query("SELECT * FROM `news`"); $num = mysql_num_rows($r2); $n =(int)$_GET['n']; $news_row=15; $pager = new IndigoPageBar('/?n=',$num,$n,$news_row); $html = $pager->GetHTML(); $start = ($n-1) * $news_row; if($start < 0 )$start = 0; $sel = mysql_query("SELECT * FROM `news` ORDER BY `news_id` DESC LIMIT $start,$news_row"); .............................. echo $html; ?>
Можно поинтересоваться что делают следующии обороты: 1 $n =(int)$_GET['n']; - что такое "(int)"? 2. $pager = new IndigoPageBar('/?n=',$num,$n,$news_row); что есть "IndigoPageBar"? По теме могу порекомендовать: http://mysql.org/doc/refman/5.0/en/grou ... tion_count
А вот я не считаю себя таким уж и новичком, но с классами я как не подружился с самого начала(их описания не было в книжке Самоучитель по PHP), так до сих пор и не дружу. Обычно пользуюсь функциями, а классы так до сих пор и не понимаю зачем нужны. Может кто терпеливый объяснит? Кстати, конструкцией типа $pager->page_left; я только месяц назад понял как пользоваться и что она означает. И еще раз кстати, описания знака -> не нашел ни в одном мануале. А только в примерах, где исп. классы.
1. Жесткое установление типа переменной на integer 2. Название создаваемого класса, вроде $var = new Object();
Понятно. Спасибо. (прада не могу себе представить для чего это нужно) Это я знаю. Что за класс такой?
Да бывает это нужно, особенно когда не шаришь в троекратном равно "===" Дык про него же тут весь сыр-бор. См. первую страницу темы
если у тебя строка '20', a тебе нужно ее переконвертировать в integer то делаеют это так: $var = (int)$_POST['data'];
Это я понял. Зачем может понадобиться указывать явный формат? Все функции PHP определяют формат по содержанию, но даже если понадобиться узнать подходит ли переменная к типу есть функции типа is_bool, is_integer и др. есть еще операторы сравнения типов "===", "!==" и т.п. Кстати самому стало интересно, вот навоял: PHP: <?php //$s=true; $s=1; //$s='1'; echo "is_bool: ".is_bool($s)."<br>"; echo "is_int: ".is_int($s)."<br>"; echo "is_numeric: ".is_numeric($s)."<br>"; echo "is_string: ".is_string($s)."<br>"; echo "is_array: ".is_array($s)."<br>"; echo "is_object: ".is_object($s)."<br>"; ?>
S.t.A.M., потому что мир жесток. Если тебе нужен int из GET, то тип должен быть указать явно, да и весь GET отфильтрован насколько это необходимо. Если дело связано с формированием запроса, например, к базе, то 100% необходимо фильтровать, определять тип и закавычкивать всё.
Я просто подумал, что если необходимо продемонстрировать пример работы чего-то, то наверно нужно это представлять в как можно более простой форме.
Luge, в общем-то так плюс-минус автобус у меня и сделано А по поводу темы... Это к тому, что бОльшая часть комментариев относится не к непосредственно теме изложения, а к её представлению. Да и представлять пример кода в виде фрагмента чего-то большого и неизвестного, по моему не очень корректно.
md5 народ, только знакомящийся с языком, закидает вопросами вроде «а что это такое» PHP: <?php $page = (isset($_GET['page']) && is_numeric($_GET['page']) && $_GET['page']>0) ? $_GET['page'] : 1; ?>
Класс, не класс... Главное не оформить код красиво и удобно для себя. Главное новичкам основу алгоритма показать.