Страница 1 из 1

Подскажите пожалуйста,правильный ли код?

Добавлено: 10 фев 2010, 11:18
anomals
Всем доброго времени суток!Я вот только начал изучать язик PHP,вот меня интересует,правильный ли я код зделал.

Код: Выделить всё

function str_count($str,$col,$page) 
 {
   if (strlen($str) > $col) 
   
   $str = substr($str,($page-1)*$col,$col); 
    
return ($str); 
}
$str="500";  //Это очень длинный текст
//Это номер страницы
$page-1;
//Это мы задаём число символов на странице
$col=50;
//Это мы выводим нужную часть текста, для каждой страницы выведется свой кусок
echo str_count($str,$col,$page);  
Это код по идее должен обрезать длинное сообщение и переводить его на другую страницу по принципу
«пред | след»
Но он почему то отказивается работать.А отвечает за вывот текста на странице вот этот код

Код: Выделить всё

if ($set['set_show_icon']==1)echo "  <td class='p_m' colspan='2'>\n"; else echo "  <td class='p_m'>\n";
echo "<b>".output_text($blog['name'])."</b> 
\n";
echo "".output_text($blog['msg'])." 
\n"; 

Re: Подскажите пожалуйста,правильный ли код?

Добавлено: 10 фев 2010, 16:38
Duncon
"З"делать код в данном случае невозможно.

Re: Подскажите пожалуйста,правильный ли код?

Добавлено: 11 фев 2010, 09:24
anomals
Duncon писал(а):"З"делать код в данном случае невозможно.
Хм...ответ был внятен спасибо :D Вот сделал его вот таким образом.

Код: Выделить всё

if ($set['set_show_icon']==1)echo " <td class='p_m' colspan='2'>\n"; else echo " <td class='p_m'>\n";
echo "<b>".output_text($blog['name'])."</b> 
\n";
$col=500; //Сколько слов на страницу
$str=$blog['msg'];
$slova=explode(' ', $str);
$page=(isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$num_pages=ceil(count($slova)/$col);
$start=$col*($page-1);
$text=NULL;
for ($i=$start;$i<$col*$page && $i<count($slova);$i++)
{
$text.=$slova[$i].' ';
}
echo "".output_text($text)." 
\n";
for($pr = '', $i =1; $i <= $num_pages; $i++) 
{
echo $pr=(($i == 1 || $i == $num_pages || abs($i-$page) < 2) ? ($i == $page ? " [$i] " : ' <a href="?page='.$i.'&id='.$blog['id'].'">'.$i.'</a> ') : (($pr == ' ... ' || $pr == '')? '' : ' ... '));
} 
Но появилась другая проблема,на вап теме всё работает отлично,а вот на веб оформлении получается смещение всего дизайна вправо.Пример можно посмотреть здесь (не реклама)
Может кто подскажет,что за причина?

Re: Подскажите пожалуйста,правильный ли код?

Добавлено: 11 фев 2010, 10:24
Duncon
Размеры где-то не выставленны или наоборот где-то что-то утягивает отрезай куски ищи нужный который утягивает, дальше по обстоятельствам.. ТАк же возможно какие-то элементы не закрыты правильно итд итп

Re: Подскажите пожалуйста,правильный ли код?

Добавлено: 11 фев 2010, 15:12
anomals
Duncon писал(а):Размеры где-то не выставленны или наоборот где-то что-то утягивает отрезай куски ищи нужный который утягивает, дальше по обстоятельствам.. ТАк же возможно какие-то элементы не закрыты правильно итд итп
Так а искать то где?В этом коде причина?Или же искать в коде всей странички?

Re: Подскажите пожалуйста,правильный ли код?

Добавлено: 11 фев 2010, 15:32
Duncon
Базовое знание html сильно поможет.