PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (24): В начало « ... 16 17 18 19 20 21 22 [23] 24 »
Найдено сообщений: 349
kappa
Отправлено: 30 Апреля, 2011 - 12:53:43 • Тема: Проверка номера страницы, когда ?page=0 выдает ошибку • Форум: Если скрипт не работает
Ответов: 17 Просмотров: 10982
Большое спасибо всем за помощь, я нашел самое оптимальное решение (или может мне так кажется)
PHP:
скопировать код в буфер обмена
function check_page( $value )
{
// Проверяем значение, а число ли это?
{
// Если число, то выводим (с дополнительным приведением к unsigned если оно отрицательно)
}
else
{
// Здесь я вывел 1, (Если это было не число, то отправим на первую страницу)
return 1 ;
}
}
if ( isset ( $_GET [ 'page' ] ) ) { $page = check_page( $_GET [ 'page' ] ) - 1 ; // текущая страница
}
else
{
$page = 0 ;
}
Фильтрует и отрицательные и дробные числа и при вводе ?page= или ?pae=
выводит первую страницу.,
p.s. много интересных решений для себя увидел
kappa
Отправлено: 30 Апреля, 2011 - 11:09:51 • Тема: Проверка номера страницы, когда ?page=0 выдает ошибку • Форум: Если скрипт не работает
Ответов: 17 Просмотров: 10982
Vasiliya не помогает
OrmaJever
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5, 5' at line 1
Получается что при нуле попадает каким то образом -5 вместо 0
kappa
Отправлено: 30 Апреля, 2011 - 09:35:15 • Тема: Проверка номера страницы, когда ?page=0 выдает ошибку • Форум: Если скрипт не работает
Ответов: 17 Просмотров: 10982
Выдает такую ошибку:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:\USBWebserver v8_en\root\Site html\pages.php on line 26
А вот весь код полностью:
PHP:
скопировать код в буфер обмена
echo "<center>" ; //Делаем вывод по центру
$link_sc = 'pages.php' ; // путь
if ( isset ( $_GET [ 'page' ] ) ) {
$page = abs ( ceil ( $_GET [ 'page' ] ) ) - 1 ; // текущая страница }
else
{
$page = 0 ;
}
$rpp = 5 ; //Сколько выводит на страницу
$form = $page * $rpp ; //Вычисляем по формуле (Тек. страницу * на количество выводимых строк на страницу) получаем число для запроса к БД
$result = mysql_query ( "SELECT * FROM pages ORDER BY id LIMIT $form ,$rpp " ) ; //Запрашиваем результат в обратном порядке (начиная со старшего id {
echo "[" . $row [ 0 ] . "] " . $row [ 1 ] . "<br>" ;
}
$res = mysql_query ( "SELECT count(id) FROM pages" ) ; //определяем количество записей в таблице для составления ссылок
$rad = 1 ; // сколько ссылок показывать рядом с номером текущей страницы (2 слева + 2 справа + активная страница = всего 5)
$links = $rad * 2+ 1 ;
$pages = ceil ( $cnt [ 0
] / $rpp ) ; if ( $page > 0) { echo "<a href=\" $link_sc ?page=1\" >First</a> | <a href=\" $link_sc ?page=" . ( $page ) . "\" >Previous</a> |" ; }
$start = $page - $rad ;
if ( $start > $pages - $links ) { $start = $pages - $links ; }
if ( $start < 0) { $start = 0 ; }
$end = $start + $links ;
if ( $end > $pages ) { $end = $pages ; }
for ( $i = $start ; $i < $end ; $i ++ ) {
echo " " ;
if ( $i == $page ) {
echo "<b>" ;
} else {
echo "<a href=\" $link_sc ?page=" . ( $i + 1 ) . "\" >" ;
}
// echo ($i*$rpp+1)."-";
// if ($i!=($pages-1)) { echo $i*$rpp+$rpp; } else { echo $cnt; }
echo ( $i + 1) ;
if ( $i == $page ) {
echo "</b>" ;
} else {
echo "</a>" ;
}
if ( $i != ( $end - 1) ) { echo " |" ; }
}
if ( $pages > $links && $page < ( $pages - $rad - 1) ) { echo " ... <a href=\" $link_sc ?page=" . ( $pages ) . "\" >" . ( $pages ) . "</a>" ; }
if ( $page < $pages - 1) { echo " <a href=\" $link_sc ?page=" . ( $page + 2 ) . "\" >Next</a> | <a href=\" $link_sc ?page=" . ( $pages ) . "\" >Last</a>" ;
kappa
Отправлено: 27 Апреля, 2011 - 16:04:23 • Тема: Постраничная навигация • Форум: Работа с СУБД
Ответов: 6 Просмотров: 2689
Я вот присоединяюсь к этой теме,...
Есть скрип постраничной навигации:
PHP:
скопировать код в буфер обмена
<?
$cnt = 100 ; // общее количество записей во всём выводе
$rpp = 10 ; // кол-во записей на страницу
$rad = 1 ; // сколько ссылок показывать рядом с номером текущей страницы (2 слева + 2 справа + активная страница = всего 5)
$link_sc = 'page_navigation.php' ; // путь
if ( isset ( $_GET [ 'page' ] ) ) {
$page = $_GET [ 'page' ] - 1 ; // текущая страница
}
else
{
$page = 0 ;
}
$links = $rad * 2+ 1 ;
if ( $page > 0) { echo "<a href=\" $link_sc ?page=1\" >First</a> | <a href=\" $link_sc ?page=" . ( $page ) . "\" >Previous</a> |" ; }
$start = $page - $rad ;
if ( $start > $pages - $links ) { $start = $pages - $links ; }
if ( $start < 0) { $start = 0 ; }
$end = $start + $links ;
if ( $end > $pages ) { $end = $pages ; }
for ( $i = $start ; $i < $end ; $i ++ ) {
echo " " ;
if ( $i == $page ) {
echo "<b>" ;
} else {
echo "<a href=\" $link_sc ?page=" . ( $i + 1 ) . "\" >" ;
}
// echo ($i*$rpp+1)."-";
// if ($i!=($pages-1)) { echo $i*$rpp+$rpp; } else { echo $cnt; }
echo ( $i + 1) ;
if ( $i == $page ) {
echo "</b>" ;
} else {
echo "</a>" ;
}
if ( $i != ( $end - 1) ) { echo " |" ; }
}
if ( $pages > $links && $page < ( $pages - $rad - 1) ) { echo " ... <a href=\" $link_sc ?page=" . ( $pages ) . "\" >" . ( $pages ) . "</a>" ; }
if ( $page < $pages - 1) { echo " <a href=\" $link_sc ?page=" . ( $page + 2 ) . "\" >Next</a> | <a href=\" $link_sc ?page=" . ( $pages ) . "\" >Last</a>" ; }
?>
Вот как он смотрится: http://webproger[dot]ru/example/page[dot][dot][dot]ation.php?page=1
А вот как его полностью реализовать с SQL запросом чтобы он работал ?
kappa
Отправлено: 20 Апреля, 2011 - 11:44:38 • Тема: В index.php получаются пробелы при использовании require_once "header.php"; • Форум: HTML, Дизайн & CSS
Ответов: 3 Просмотров: 1763
В index.php получаются пробелы при использовании require_once "header.php";
Выходит небольшой отступ от верха до header.php, а вот в самом HTML шаблоне все без отступов, но как только я разбил на блоки , там где подключаю в index.php через require_once блоки, получаются пробелы.
Как от такого можно избавится?
Страниц (24): В начало « ... 16 17 18 19 20 21 22 [23] 24 »
Powered by ExBB FM 1.0 RC1. InvisionExBB