Ошибка! ]:->

1. ★☆ ИгRok™ ☆★ (22.09.2010 / 20:15)
Доброго всеми суток...поспешил я свою тему закрывать! Ребят,вот ошибка http://nkat.h2m.ru/BLOG
<?php
require_once('funct.php');
require_once('navigator.php');
echo up('СверхБлог');
switch($_GET['act']) {
default:

$navig = new navigation();

$blog = mysql_result(mysql_query("SELECT COUNT(*) FROM blog"), 0);

if(!$blog)
{
echo '<div class="menu">Статей пока нет.</div>';
}
else
{
$sql = mysql_query("SELECT * FROM blog ORDER BY id DESC '.$navig->limit());

while($res = mysql_fetch_assoc($sql))
{
echo '<div class="menu">'.$res['title'].' ('.date('d.m.y/H:i', $res['time']).')<br />';
echo mb_substr($res['msg'], 0, 50, 'UTF-8');
echo '...| <a href="index.php?act=view;file='.$res['id'].'">Читать всё &#187;</a><br /></div>';
}
$navig->view();
}
break;

case 'view':
$file = (int)$_GET['file'];

$res = mysql_fetch_assoc(mysql_query("SELECT * FROM blog WHERE id='.$file.'"));

echo '<div class="menu">';
echo 'Заголовок: '.$res['title'];
echo 'Текст: '.$res['msg'];
echo 'Дата добавления: '.date('d.m.y/H:i', $res['time']).'</div>';
}
echo down($copy);
?>
не пойму,где тут ошибка:sad и шо это вобще за ошибка

2. ★☆ ИгRok™ ☆★ (22.09.2010 / 20:28)
Тоже никто не знает?

3. DmitryDick (22.09.2010 / 20:32)
$sql = mysql_query("SELECT * FROM blog ORDER BY id DESC '.$navig->limit());
кавычку одинарную на двойную замени

4. Александр (22.09.2010 / 20:37)
как минимум
<?php
$sql = mysql_query('SELECT * FROM blog ORDER BY id DESC '.$navig->limit()); 


5. valakas (22.09.2010 / 20:54)
dont give me names (22 Сентября 2010 / 20:32)
$sql = mysql_query("SELECT * FROM blog ORDER BY id DESC '.$navig->limit());
кавычку одинарную на двойную замени
пробывал?

6. ктулху (22.09.2010 / 22:00)
Чувак, ты с телефона кодишь?
Сделай какой-нибудь стендик с подсветкой синтаксиса (типа как тут в форуме), будет намного проще находить ошибки

7. ★☆ ИгRok™ ☆★ (22.09.2010 / 22:10)
Всем спасибо,щас попробую

8. ★☆ ИгRok™ ☆★ (22.09.2010 / 22:19)
Мужики,короче заработало,но вот беда: id не передается :sad ну код вот есть,нажимаешь,читать все,страница просто обновляется и все

9. DmitryDick (22.09.2010 / 22:26)
<a href="index.php?act=view;file='.$res['id'].'">
разделитель переменных не просто ; (точка с запятой), а - &amp;
page.php?var1=value1&amp;var2=value2

10. ★☆ ИгRok™ ☆★ (22.09.2010 / 22:45)
Вот,спасибо...работает... И последнее...ребят,навигация не работает! Вот файл навигации: http://nkat.h2m.ru/BLOG/navigator.txt

11. ★☆ ИгRok™ ☆★ (23.09.2010 / 01:48)
Все,разобрался...всем спасибо за помощь... (тему пока закрывать не буду)

12. ★☆ ИгRok™ ☆★ (23.09.2010 / 05:24)
Ну вот и нашел что Вас спросить =) короче,ребят,как разбить текст на страницы (не сообщения с постраничной навигацией,а один текст,если текст длинный... Мне для своего блога.то не которые статьи слишком длинные будут

13. KOZZ (23.09.2010 / 05:52)
12? я бы сделал так:
<?
$text = 'этот текст надо разделить на страницы';
$symb_onpage = (int)1000; # количество символов на страницу
$page = (isset($_GET['page'])) ? intval(abs($_GET['page'])) : (int)0; # номер страницы

$arr = str_split($text,$symb_onpage);

if(array_key_exists($page,$arr))
{
if(trim($arr[$page])!==''){echo trim($arr[$page]);}
} else {echo 'Страницы не существует!';}
?>


14. Azzido (23.09.2010 / 06:04)
(int)1000, (int)0 - о_О зачем?!
intval(abs($_GET['page'])) -> abs((int)$_GET['page'])

15. ★☆ ИгRok™ ☆★ (23.09.2010 / 06:04)
13. МеталлоgетектоР eGo, щас попробую

16. ★☆ ИгRok™ ☆★ (23.09.2010 / 06:06)
14.а как правильно? Если это важно,то скрипт на базе

17. KOZZ (23.09.2010 / 06:09)
14, первое по привычке, второе невнимательность )

18. ★☆ ИгRok™ ☆★ (23.09.2010 / 06:11)
Ребят,так как правильно написать?

19. KOZZ (23.09.2010 / 06:18)
кстати str_split имеет какие то проблемы с кириллицей, видимо придется делать самописный аналог, либо перекодировать в windows 1251

20. ★☆ ИгRok™ ☆★ (23.09.2010 / 06:23)
Попробовал,не работает...просто тупо получается
$tехt = и тут мои текст больше ничего

21. KOZZ (23.09.2010 / 06:24)
<? 
$text = 'этот текст надо разделить на страницы'; 
$symb_onpage = 10; # количество символов на страницу 
$page = (isset($_GET['page'])) ? abs(intval($_GET['page'])) : 0; # номер страницы, дописывать в адресную строку (если не 0)

$text = iconv('utf-8','windows-1251','этот текст надо разделить на страницы');
$arr = str_split($text,$symb_onpage); 

if(array_key_exists($page,$arr)) 
{
if(trim($arr[$page]) !== ''){echo trim(iconv('windows-1251','utf-8',$arr[$page]));}
} else {echo 'Страницы не существует!';} 

?>


22. KOZZ (23.09.2010 / 06:28)
deleted

23. KOZZ (23.09.2010 / 06:28)
SoluS_AngeluS (23 Сентября 2010 / 06:23)
Попробовал,не работает...просто тупо получается
$tехt = и тут мои текст больше ничего
"$_GET['page']" - это тебе ни о чем не говорит?
в адресную строку дописывай номер страницы (отсчет с нуля)
site.ru?script.php?page=1

24. ★☆ ИгRok™ ☆★ (23.09.2010 / 14:41)
23.не очень понял:sad

25. ★☆ ИгRok™ ☆★ (23.09.2010 / 14:41)
23.не очень понял:sad

26. Богдан (23.09.2010 / 14:54)
19.
<?php
function str_split_utf8($str) {
    // place each character of the string into and array
    $split=1;
    $array = array();
    for ( $i=0; $i < strlen( $str ); ){
        $value = ord($str[$i]);
        if($value > 127){
            if($value >= 192 && $value <= 223)
                $split=2;
            elseif($value >= 224 && $value <= 239)
                $split=3;
            elseif($value >= 240 && $value <= 247)
                $split=4;
        }else{
            $split=1;
        }
            $key = NULL;
        for ( $j = 0; $j < $split; $j++, $i++ ) {
            $key .= $str[$i];
        }
        array_push( $array, $key );
    }
    return $array;
}


27. ★☆ ИгRok™ ☆★ (23.09.2010 / 15:47)
26.спасибо,а как выводить ссылки? Далее и назад?

28. ★☆ ИгRok™ ☆★ (24.09.2010 / 10:22)
Народ,ну объясните корректней,как этот текст разбить,с помощью этих кодов? Не могу понять,хоть убей

29. Azzido (24.09.2010 / 10:38)
зачем тогда лезть в те дебри которые не можешь понять, сначала надо хоть азам научиться

30. KOZZ (24.09.2010 / 11:10)
27, 28, неужели непонятно разъяснил в 23 посте??
29, согласен

31. ★☆ ИгRok™ ☆★ (24.09.2010 / 13:32)
Ну куда лезть,это уже решать мне...а если Вам так трудно объяснить,то не нужно тогда писать вобще...я с разбивкой текста не работал НИКОГДА,и понять поэтому не могу... Я вижу в одном посте код,а в другом функцию(более интересную) но как она работает,я не пойму...

32. KOZZ (24.09.2010 / 13:41)
да причем здесь разбивка не разбивка... я тебе дал уже рабочий и готовый код, что тебе еще надо?? я уже на пальцах объяснил как его юзать

33. ★☆ ИгRok™ ☆★ (24.09.2010 / 19:39)
Если бы объяснил,я бы уже давно плюс поставил и тему бы закрыл... Я не пойму как выводить...ну его можно в функцию заключить,но как страницы назад и далее,вот этого я именно не понял...

34. ★☆ ИгRok™ ☆★ (28.09.2010 / 05:10)
21.разобрался я с твоим кодом,вроде...не очень,ссылки одни и те же,пока на все не понажимаешь,не поймёшь куда надо... Хочу попробовать функцию из 26. поста,но вот в чем проблема,не пойму,как она работает %)

35. KOZZ (28.09.2010 / 05:15)
34, эта функция вообще о другом... аналог str_split только она работает с кириллицей в utf-8, а str_slpit - нет.

36. ★☆ ИгRok™ ☆★ (28.09.2010 / 05:19)
35.я разобрался... Среди последних } до Станицы не существует,пишешешь ссылки,типа: <а href="сайт.ру/viеw/1/0.html">1</а> (это если через ревайт) и так приходиться выводить как минимум 3 страницы... Если бы действующая станица выделялась цветом/жирностья,то было бы великолепно...а так,код норм,но нужный и не очень удобный

37. KOZZ (28.09.2010 / 05:31)
36, че то ваще ничего не понял...бред сумашедшего %)
<?
if(count($arr) !== 0 && count($arr) !== 1){
echo '<br/>';
if($page != 0){echo '<a href="?page='.($page-1).'">Назад </a>';echo "[$page]";}

if($page != count($arr)-1){echo '<a href="?page='.($page+1).'"> Вперед</a>';}
}
?>
вот тебе навигация

38. ★☆ ИгRok™ ☆★ (28.09.2010 / 05:51)
37.напиши полностью со своим кодом,как это должно выглядеть...%)

39. KOZZ (28.09.2010 / 05:54)
38, .....................
<?  
$text = 'этот текст надо разделить на страницы';  
$symb_onpage = 10; # количество символов на страницу  
$page = (isset($_GET['page'])) ? abs(intval($_GET['page'])) : 0; # номер страницы, дописывать в адресную строку (если не 0)

$text = iconv('utf-8','windows-1251','этот текст надо разделить на страницы'); 
$arr = str_split($text,$symb_onpage);  

if(array_key_exists($page,$arr))  
{ 
if(trim($arr[$page]) !== ''){echo trim(iconv('windows-1251','utf-8',$arr[$page]));} 
} else {echo 'Страницы не существует!';}  

# Навигация
if(count($arr) !== 0 && count($arr) !== 1){ 
echo '<br/>'; 
if($page != 0){echo '<a href="?page='.($page-1).'">Назад </a>';echo '['.($page+1).']';} 

if($page != count($arr)-1){echo '<a href="?page='.($page+1).'"> Вперед</a>';} 
} 
?>


40. Андрюха (28.09.2010 / 07:50)
Юзай поиск. Тем с вопросами по навигации много

41. KOZZ (28.09.2010 / 08:02)
40, неосилит сам ... ты темку почитай )

42. ★☆ ИгRok™ ☆★ (28.09.2010 / 12:59)
39.спасибо,чет я тупил ... Спать надо вовремя ложиться =) все понял,сделаю...
40.не встречал тут темы с навигацией по тексту... А файловую навигация,это другое совсем...
41.и что же он там увидит... ??? Я всего лишь в основном про навигацию спросил ... Если так сложно было помогать,можно было не отвечать,сам бы как-нибудь разобрался

43. KOZZ (30.09.2010 / 09:22)
19, то ли у меня руки из ануса, то ли функция реально неадекватно себя ведет smile
насколько я понял, за количество символов, на которые будет разбиваться строка, отвечает переменная $split
допустим, я использую свой же код из 39 поста, в самом начале втыкаю эту функцию, и присваиваю $split значение 10 (для примера).
<?
function utf8_str_split($str) { 
    // place each character of the string into and array 
    $split=10; 
    $array = array(); 
    for ( $i=0; $i < strlen( $str ); ){ 
        $value = ord($str[$i]); 
        if($value > 127){ 
            if($value >= 192 && $value <= 223) 
                $split=2; 
            elseif($value >= 224 && $value <= 239) 
                $split=3; 
            elseif($value >= 240 && $value <= 247) 
                $split=4; 
        }else{ 
            $split=1; 
        } 
            $key = NULL; 
        for ( $j = 0; $j < $split; $j++, $i++ ) { 
            $key .= $str[$i]; 
        } 
        array_push( $array, $key ); 
    } 
    return $array; 
} 

$text = 'этот текст надо разделить на страницы';  
$symb_onpage = 10; # количество символов на страницу  
$page = (isset($_GET['page'])) ? abs(intval($_GET['page'])) : 0; # номер страницы, дописывать в адресную строку (если не 0)

$arr = utf8_str_split($text,$symb_onpage);  

if(array_key_exists($page,$arr))  
{ 
if(trim($arr[$page]) !== ''){echo trim($arr[$page]);} 
} else {echo 'Страницы не существует!';}  

# Навигация
if(count($arr) !== 0 && count($arr) !== 1){ 
echo '<br/>'; 
if($page != 0){echo '<a href="?page='.($page-1).'">Назад </a>';echo '['.($page+1).']';} 

if($page != count($arr)-1){echo '<a href="?page='.($page+1).'"> Вперед</a>';} 
} 
?>
а в ответ получаю разделенный по 1 символу массив. (вместо 10, т.е. от моих телодвижений ничего не изменилось)
в чем дело то?

44. KOZZ (30.09.2010 / 13:45)
подскажет кто нить?

URL: https://visavi.net/topics/13949