Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Алфавитная навигация в постраничной
 
 автор: sidPR   (18.11.2005 в 18:32)   письмо автору
2.2 Кб
 
 

вот написал такую вот своеобразную скриптовую смесь.

когда щелкую по буквам инфа невыводиться в границах определенной буквой тыркаеш по буковка иногда выскакивает

Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 11 in C:\!Server\www\GTA\content\ct\video.php on line 85

что я неправильно написал в запросах к базе или может в правилах
а так если вся ифна тоесть когда $letter незадана выводит все нормально и постраничка работает а вот когда выбираеш букву начинаеться непонятнки :( подскажите что нетак ?
файл прекрепил

   
 
 автор: cheops   (18.11.2005 в 22:45)   письмо автору
 
   для: sidPR   (18.11.2005 в 18:32)
 

Исправьте блок
<?php
  
// Постраничная навигация 
  
$query "SELECT COUNT(*) FROM $table "
    
}
  
  
$ctg mysql_query($query); 
  if(!
$ctgputerror("Ошибка при обращении к таблице"); 
  
$total mysql_result($ctg,0); 
?>

на
<?php
    
}
  
  
// Постраничная навигация 
  
$query "SELECT COUNT(*) FROM $table "
  
$ctg mysql_query($query); 
  if(!
$ctgputerror("Ошибка при обращении к таблице"); 
  
$total mysql_result($ctg,0); 
?>

   
 
 автор: sidPR   (18.11.2005 в 23:51)   письмо автору
 
   для: cheops   (18.11.2005 в 22:45)
 

а какже тогда $query = "SELECT auto FROM $table WHERE MID(auto,1,1) = '$letter'"; ???
в приделах одной буквы ?

   
 
 автор: sidPR   (18.11.2005 в 23:58)   письмо автору
 
   для: sidPR   (18.11.2005 в 23:51)
 

причем при нажатии на букву невыводяться пути не на картинки не на ссылки не на ID ,.
и постраничка внизу остаеться для все базы тоесть при нажатии на цыфру 2 в постраничке выводиться инфа все базы 2 страница просто =(

   
 
 автор: cheops   (19.11.2005 в 03:04)   письмо автору
 
   для: sidPR   (18.11.2005 в 23:51)
 

В любом случае без запроса $query нельзя оставлять запись
<?php
  $ctg 
mysql_query($query); 
  if(!
$ctgputerror("Ошибка при обращении к таблице"); 
  
$total mysql_result($ctg,0);
?>

или необходимо переместить этот блок внутрь фигурных скобок.

   
 
 автор: sidPR   (19.11.2005 в 04:03)   письмо автору
 
   для: cheops   (19.11.2005 в 03:04)
 

ну всеравно как некрути рабоать небет всеравноже я если letter задана там свой $query
а если незадана свой ..... но всеравно то чего я хачю добиться немогу чтобы работало при нажатии на букву выводилось в приделах одной буквы :(

   
 
 автор: sidPR   (22.11.2005 в 03:29)   письмо автору
 
   для: sidPR   (19.11.2005 в 04:03)
 

короче получаеться так если я назначаю букву а тоесть letter становить какойто буквой допустим "V" скрипт выводит из базы все на букву V но в ограничении 5 выводов на одну страницу а дальше постраничная навигация тык вот если я нажимаю чтобы просмотреть следующие 5 на букву "V" он почему выводит вывод всех букв а тоесть всей базы ну естественно начаная оттуда какую я цифру указал...

и еще одно но когда выводить инфа в радиусе какойто буквы $ID почему Становиться пустым....

   
 
 автор: goddamn   (22.11.2005 в 11:26)   письмо автору
 
   для: sidPR   (22.11.2005 в 03:29)
 

слушайте, неужели нельзя более грамотно писать? и оставлять хотя бы минимум знаков пунктуации ?... а то читаешь такие посты и голову сломаешь, пока дойдет, что человек хотел сказать ...
проявите немного уважения к другим, тем более, что спрашиваете о чем-то.

   
 
 автор: cheops   (22.11.2005 в 13:30)   письмо автору
 
   для: sidPR   (22.11.2005 в 03:29)
 

А вы в ссылке на следующие 5 позиций параметр letter с литерой "V"?

   
 
 автор: sidPR   (22.11.2005 в 18:13)   письмо автору
 
   для: cheops   (22.11.2005 в 13:30)
 

а точно ... а насчет того что невидит $ID и картинки неотоброжает ... изза этого $page = $_GET['page']; вроде неможет =\

+ цифры что в постраничке после того как я поставил условие на линк стали нормально переключать но их количество = всему выводу из базы тоесть если я нажал букву "V" и нажал в постраничной цифру 4 к примеру у меня невывидит нечего т.к. инфа кончилась на эту букву а цифры все продолжаються изза чего? ..

   
 
 автор: cheops   (23.11.2005 в 01:08)   письмо автору
 
   для: sidPR   (22.11.2005 в 18:13)
 

А вы при вычислении числа позиций $total не учитываете, что позиции должны начинаться с буквы V
<?php
  $query 
"SELECT COUNT(*) FROM $table "
?>

Этот запрос должен быть дополнен условием WHERE
<?php
  $query 
"SELECT COUNT(*) FROM $table WHERE MID(auto,1,1) = '$letter'"
?>

   
 
 автор: sidPR   (23.11.2005 в 02:29)   письмо автору
 
   для: cheops   (23.11.2005 в 01:08)
 

Короче вот что я навороти но немогу разобраться с $total как грамотно вывести чтобы все работало и в приделах буквы и весь вывод код прилогаеться

   
 
 автор: cheops   (23.11.2005 в 12:44)   письмо автору
 
   для: sidPR   (23.11.2005 в 02:29)
 

Закомментированный блок перепишите следующим образом
<?php
 $sql 
"SELECT COUNT(auto) FROM '$table' WHERE MID(AUTO,1,1)= '$letter'";
 
$tot mysql_query($sql);
 if(!
$tot) exit(mysql_error);
 
$total mysql_result($tot,0);
?>

   
 
 автор: sidPR   (23.11.2005 в 15:27)   письмо автору
 
   для: cheops   (23.11.2005 в 12:44)
 

Везде выдает mysql_error как некрути ...

   
 
 автор: cheops   (24.11.2005 в 00:25)   письмо автору
 
   для: sidPR   (23.11.2005 в 15:27)
 

Как выглядит сообщение об ошибке?

   
 
 автор: sidPR   (24.11.2005 в 01:35)   письмо автору
 
   для: cheops   (24.11.2005 в 00:25)
 

так и выглядит как я написал так и выводит прямо :(

   
 
 автор: cheops   (24.11.2005 в 12:42)   письмо автору
 
   для: sidPR   (24.11.2005 в 01:35)
 

А выдаётся какое-нибудь сообщение?

   
 
 автор: sidPR   (24.11.2005 в 19:50)   письмо автору
 
   для: cheops   (24.11.2005 в 12:42)
 

Когда ковыряю ужэ козалосьбы должно работать пишет

Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 11 in C:\!Server\www\GTA\content\ct\video.php on line 100

line 100: $total = mysql_result($ctg,0);

всегда практически на $total ругаеться :(

   
 
 автор: cheops   (24.11.2005 в 22:05)   письмо автору
 
   для: sidPR   (24.11.2005 в 19:50)
 

А у вас в запросе нигде GROUP BY не затесался - как сейчас выглядит запрос формирующий результат $ctg?

   
 
 автор: sidPR   (24.11.2005 в 23:09)   письмо автору
 
   для: cheops   (24.11.2005 в 22:05)
 

вот как щяс все выглядит ... см. вложение

   
 
 автор: cheops   (24.11.2005 в 23:57)   письмо автору
 
   для: sidPR   (24.11.2005 в 23:09)
 

Запрос в строке 70
<?php
  
// Постраничная навигация 
 
$query "SELECT auto FROM $table WHERE MID(auto,1,1) = '$letter'"
?>

следует исправить следующим образом
<?php
  
// Постраничная навигация 
 
$query "SELECT COUNT(auto) FROM $table WHERE MID(auto,1,1) = '$letter'"
?>

   
 
 автор: sidPR   (25.11.2005 в 02:51)   письмо автору
 
   для: cheops   (24.11.2005 в 23:57)
 

Действительно вы были правы спасибо огромное за оказанную помащь!

   
 
 автор: sidPR   (25.11.2005 в 03:01)   письмо автору
 
   для: sidPR   (25.11.2005 в 02:51)
 

только вот еще загвозда после такого изменения при выборе буквы выводить только инфа из поля Auto остальные ID DATE и прочие остаються пустыми :(

   
 
 автор: cheops   (25.11.2005 в 13:21)   письмо автору
 
   для: sidPR   (25.11.2005 в 03:01)
 

В строке 37 замените запрос
<?php
 $sql 
"SELECT auto FROM '$table' WHERE MID(AUTO,1,1)= '$letter' ORDER BY 'id' DESC LIMIT $begin$pnumber";
?>

на
<?php
 $sql 
"SELECT * FROM '$table' WHERE MID(AUTO,1,1)= '$letter' ORDER BY 'id' DESC LIMIT $begin$pnumber";
?>

   
 
 автор: sidPR   (25.11.2005 в 16:21)   письмо автору
 
   для: cheops   (25.11.2005 в 13:21)
 

а в чем ошибка заключалась моя ? =\

   
 
 автор: cheops   (25.11.2005 в 18:16)   письмо автору
 
   для: sidPR   (25.11.2005 в 16:21)
 

Запрашивался только один столбец auto вместо всех *

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования