IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Запутался... (https://www.imho.ws/showthread.php?t=42217)

Mobil-2 31.10.2003 19:49

Запутался...
 
Доброе время суток Господа !!!
Ну нехочет он выбирать то что я хочу выбрать или я что то не так делаю(передаю) :( хотя сам еще нови4ек в этом деле...
постараюсь все поэтапно объяснить боюсь что не сразу поймете... мой язык(кривой)

function out_nav()
//функция которая вызывается из отдельного класса
{
if (isset($_REQUEST['cat'])) $cat=strval($_REQUEST['cat']); else $cat='nw';
//ненуждается в объяснение для таких профи как вы :)
$this->sql_query="SELECT MAX(t_id) FROM tbl_text WHERE t_cat='$cat'";
//а вот и сам запрос правдо необычно :) я тоже так считаю...
$this->sql_execute();
if($this->sql_err) return(11);
// это мускула

//ИМХО Ну а это самое светое для меня... постраничный вывод...
global $id;
$total_articles=mysql_num_rows($this->sql_res);
$articles_per_page=10;
$total_pages=ceil($total_articles/$articles_per_page);
for ($i=0; $i<$total_pages; $i++)
{
$page_number=$i*$articles_per_page;
if ($page_number!=$id)
$this->nav.=" | <a href='cat/cats.php?cat=$cat&id="
.$page_number."'> ".($i+1)." </a> | <a href=/cat/cats.php?cat=$cat>Назад</a> |
<a href=../>Главная</a>";
else echo $i+1;
}
return (0);
}

1 2 3 4 5 6 в место этого выводится 1(активная страница)
тоесть оператор if ($page_number!=$id) неисполняется отсюдого вывод что поле max(t_id) из БД не передается переменной $total_articles...

может я что то не так понимаю или делаю(скорее всего) ??? :)

Зарание благодарен за потрачинное вами время на меня...

Saruman 31.10.2003 20:49

Mobil-2
Если ты делаешь SELECT MAX(...) FROM ...., то у тебя всегда возвращается только одна строка, представляющая собой этот самый MAX(..). Соответственно, mysql_num_rows всегда возвращает 1.

Mobil-2 01.11.2003 17:30

а что мне использывать ? неподскажеш ? :)
это очень важно я никак не могу свой проект закончить из из за этоого постраничного вывода ?

Добавлено через 1 час и 4 минуты:
Saruman
Спасибо за намек так сказать :)
разобрался

mysql_result($this->sql_res,0, 'max(t_id)');

и все заработало...

если есть идеи рад буду выслушать :)

Saruman 03.11.2003 02:16

Mobil-2
Ну а если все заработало - какие еще нужны идеи? 8)

Mobil-2 03.11.2003 13:06

Saruman

продолжаю этот топ потому что скрипт находится тут же...

у меня все рботает кроме последняй строчки else echo $i+1;
тоесть эта строчка должна выводить номер текущей страницы а она все время выводит что текущая страница это 1 2 3 4.... (не могу понять почему ???)

а вызываю я его следующим оброзом:
<?
$err=$my->out_nav();
if($err)
{
$my->err_to_html($err);
}else{
echo $my->out_nav;
}
?>

по этому поводу ? :)

Зарание благодарен...

Saruman 03.11.2003 19:35

Mobil-2
global $id;
Что есть сие и где оно устанавливается? Еще можешь перед строкой
if ($page_number!=$id)
поставить echo обеих переменных и проконтролировать их значения. Раз баг тут - то и искать нужно тут.


Часовой пояс GMT +4, время: 16:41.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.