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

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
anomals
Сообщения: 3
Зарегистрирован: 10 фев 2010, 11:02
Контактная информация:

Всем доброго времени суток!Я вот только начал изучать язик 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"; 
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

"З"делать код в данном случае невозможно.
[syntax=Delphi] [/syntax]
anomals
Сообщения: 3
Зарегистрирован: 10 фев 2010, 11:02
Контактная информация:

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 == '')? '' : ' ... '));
} 
Но появилась другая проблема,на вап теме всё работает отлично,а вот на веб оформлении получается смещение всего дизайна вправо.Пример можно посмотреть здесь (не реклама)
Может кто подскажет,что за причина?
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Размеры где-то не выставленны или наоборот где-то что-то утягивает отрезай куски ищи нужный который утягивает, дальше по обстоятельствам.. ТАк же возможно какие-то элементы не закрыты правильно итд итп
[syntax=Delphi] [/syntax]
anomals
Сообщения: 3
Зарегистрирован: 10 фев 2010, 11:02
Контактная информация:

Duncon писал(а):Размеры где-то не выставленны или наоборот где-то что-то утягивает отрезай куски ищи нужный который утягивает, дальше по обстоятельствам.. ТАк же возможно какие-то элементы не закрыты правильно итд итп
Так а искать то где?В этом коде причина?Или же искать в коде всей странички?
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Базовое знание html сильно поможет.
[syntax=Delphi] [/syntax]
Ответить