Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2012, 13:25   #1
Crabman
Пользователь
 
Регистрация: 05.08.2012
Сообщений: 11
По умолчанию не могу понять почему не работает мой пейджер

Добрый день!
Обьясните что сделано не так??? Делал я пейджер при помощи урока http://www.phpfaq.ru/paginator . Вот тут он находится. Появляется счетчик страниц но инфа с бд не выводится. Во вложении скрин моей бд, подскажите что где пропустил никак не погу понять... Ниже мой код:
<?php
$hostname = "localhost";
$username = "Dmitriy";
$password = "1111";
$dbName = "pager";
$userstable = "pager";

mysql_connect($hostname,$username,$ password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());

$query = "SELECT Car FROM $userstable LIMIT 0,10";
$guery = "SELECT Car FROM $userstable LIMIT 20,10";

$q = "SELECT count (car) FROM $userstable";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];
$per_page = "10";
$num_pages=ceil($total_rows/$per_page);

for($i=1;$i<=$num_pages;$i++) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'">'.$i."</a>\n";
}

if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
$start=abs($page*$per_page);
$q="SELECT Car FROM $userstable ORDER BY field LIMIT $start,$per_page";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
echo ++$start.". ".$row['field']."<br>\n";
}

$q="SELECT count(Car) FROM $userstable";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];

$num_pages=ceil($total_rows/$per_page);

for($i=1;$i<=$num_pages;$i++) {
if ($i-1 == $page) {
echo $i." ";
} else {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";
}
}

?>
Изображения
Тип файла: jpg bd.jpg (72.5 Кб, 124 просмотров)
Crabman вне форума Ответить с цитированием
Старый 06.08.2012, 13:29   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

в запросе выбираете все машины в поле Car
а выводить пытаетесь какое-то левое поле field
Код:
echo ++$start.". ".$row['field']."<br>\n";
поменяйте на Car
ADSoft вне форума Ответить с цитированием
Старый 06.08.2012, 13:36   #3
Crabman
Пользователь
 
Регистрация: 05.08.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
в запросе выбираете все машины в поле Car
а выводить пытаетесь какое-то левое поле field
Код:
echo ++$start.". ".$row['field']."<br>\n";
поменяйте на Car
Исправил но всеравно чето без результата, но всеравно, выбивает ошибку
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test4\index.php on line 17

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test4\index.php on line 30
Crabman вне форума Ответить с цитированием
Старый 06.08.2012, 14:18   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Запросы возвращают FALSE вместо результатов – т.е. запросы содержат ошибки.
Чтоб выяснить, какие именно ошибки – добавляй после каждого запроса вывод ошибки:
PHP код:
$res mysql_query($q);
echo 
mysql_error(); 
Ошибки примерно одинаковые – в запросах указаны неверные названия полей таблицы.
Andkorol вне форума Ответить с цитированием
Старый 06.08.2012, 14:29   #5
Crabman
Пользователь
 
Регистрация: 05.08.2012
Сообщений: 11
По умолчанию

вставил теперь у меня:FUNCTION pager.count does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test4\index.php on line 20
FUNCTION pager.count does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference ManualUnknown column 'field' in 'order clause'
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test4\index.php on line 34

И у меня еще бд и таблица называются одинаково, не могут ли они конфликтовать?
Crabman вне форума Ответить с цитированием
Старый 06.08.2012, 15:00   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Пробелы убери между COUNT и открывающей скобкой:
PHP код:
COUNT(`Car`) 
Насчет левого поля field тебе уже говорили – замени его в запросах на реальное поле, по которому будет задан порядок выборки.
Andkorol вне форума Ответить с цитированием
Старый 06.08.2012, 15:13   #7
Crabman
Пользователь
 
Регистрация: 05.08.2012
Сообщений: 11
По умолчанию

Заменил:
echo ++$start.". ".$row['Car']."<br>\n";
и в $q = "SELECT count('Car') FROM $userstable"; убрал пробел. Но всеравно Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\test4\index.php on line 34

А смотрите у меня БД и таблица одинаково названы, они не могут конфликтовать?
Crabman вне форума Ответить с цитированием
Старый 06.08.2012, 15:21   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

В запросе field заменил?
Andkorol вне форума Ответить с цитированием
Старый 06.08.2012, 15:39   #9
Crabman
Пользователь
 
Регистрация: 05.08.2012
Сообщений: 11
По умолчанию

Да, заменил... теперь все работает но только одно поле поле Car:
вот мой новоиспеченый код,
<?php
$hostname = "localhost";
$username = "Dmitriy";
$password = "1111";
$dbName = "pager";
$userstable = "pager";

mysql_connect($hostname,$username,$ password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());

$query = "SELECT Car FROM $userstable LIMIT 0,10";
$guery = "SELECT Car FROM $userstable LIMIT 20,10";
$guery = "SELECT Car FROM $userstable LIMIT 30,20";
$guery = "SELECT Car FROM $userstable LIMIT 40,30";

$q = "SELECT count('Car') FROM $userstable";
$res=mysql_query($q);
echo mysql_error();
$row=mysql_fetch_row($res);
echo mysql_error();
$total_rows=$row[0];
$per_page = "10";
$num_pages=ceil($total_rows/$per_page);

for($i=1;$i<=$num_pages;$i++) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'">'.$i."</a>\n";
}
?>
<br>
<br>
<?php
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
$start=abs($page*$per_page);
$q="SELECT Car FROM $userstable ORDER BY Car LIMIT $start,$per_page";
$res=mysql_query($q);
echo mysql_error();
while($row=mysql_fetch_array($res))
{
echo ++$start.". ".$row['Car']."<br>\n";
}
?>
<br>
<br>
<?php
$q="SELECT count('Car') FROM $userstable";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];

$num_pages=ceil($total_rows/$per_page);

for($i=1;$i<=$num_pages;$i++) {
if ($i-1 == $page) {
echo $i." ";
} else {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";
}
}

?>
Теперь я хочу вывести остальные поля с моей таблицы, тоесть остальные 4...Могу ли я написать $query = "SELECT Car, Price, PriceWithNDS, NDS FROM $userstable LIMIT 0,10";
Будет ли это правильно?
Crabman вне форума Ответить с цитированием
Старый 06.08.2012, 15:39   #10
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

Код:
 ORDER BY field
осталось
.... а то что ты тут привел warning - это не ошибка а предупреждение если что
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять почему не работает функция SeRhy JavaScript, Ajax 0 09.02.2012 17:41
Не могу понять почему не работает микрофон Stilet Компьютерное железо 8 08.10.2010 16:54
Почему не работает...хм....понять не могу! Артур Иваныч Microsoft Office Excel 9 01.12.2009 17:58
Плииз!!! помогите! Не могу понять почему не работает! (Паскаль) Викуська_ Помощь студентам 5 21.04.2009 20:37