Ошибка! ]:->
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'].'">Читать всё »</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'].'">
разделитель переменных не просто ; (точка с запятой), а - &
page.php?var1=value1&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, то ли у меня руки из ануса, то ли функция реально неадекватно себя ведет
насколько я понял, за количество символов, на которые будет разбиваться строка, отвечает переменная $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