Вывод сообщений с разделением на страницы

Fish

Guest
Вывод сообщений с разделением на страницы

извиняюсь, что очень длинно, но так возникнет меньше вопросов, если писать только кусок кода..

вопрос:
есть строчка в коде
for($i=$xxx*($page-1);$i<$xxx*($page-1)+$xxx;$i++) {
echo($cont[$i]);
}

$xxx - переменной нет, это я так, что бы было понятно - что тама что-то должно быть..

какие парамерты будут делить страницу в зависимости от ее длинны... т.е. есть фиксированная длинна, нужно сделать так, что бы на 1 странице новости выводились не больше чем определенная длинна, иначе что б они переносились на др. страницу и так далее..
все необходимые значения вроде выведены..

одному слабо посчитать.

спасибо.

надеюсь на помощь.

Код:


PHP:
<?
//тут была куча никому не нужного кода.
?>
<br>
<?
numpages();
?>
<br>
</body>
</html>
<?
mysql_close($link);
?>
 

Fish

Guest
вопрос в самом начале, перед кодом.

какие парамерты будут делить страницу в зависимости от ее длинны...
т.е. есть фиксированная длинна, нужно сделать так, что бы на 1 странице новости выводились не больше чем определенная длинна, иначе что б они переносились на др. страницу и так далее..
все необходимые значения вроде выведены..

спасибо.

надеюсь на помощь.
 

Fish

Guest
на php.spb.ru ничего не нашел,
на detail.phpclub.net нашел, но это почти то что нада,.
т.к. проблема заключаеться в следующем: если бы я делил Только тексты
новостей, то я бы так и сделал как в скрипте на detail.phpclub.net, НО у
меня в новостях будут еще и картинки, высота которых соотв. будет тоже
учитываться, просто я это пока в коде не реализовал, позже добавлю..

так вот:
проблема следующая:
высота новостей посчитана уже, еще будут картинки в новостях, причем не во
всех, а в некоторых, высота которых ессно будет считаться..

вопрос: как всеже сделать разбивку на страницы, с ограниченичем по
максимальной высоте новостей на одной странице?

т.е. задана максимальная высота страницы, и новости не должны привышать ее, а
переноситься на следующую страницу, и так далее..

вот.

буду благодарен за помощь.
 

Fish

Guest
дык так и будет, только в 1 новости их не будет, а в другой, например, их будет несколько штук,.. вобщем не суть,.. высоту посчитать я могу, соотв. посчитать высоту всей новости с картинками или без я тож могу,

но вопрос то в том, что как поделить на страницы?

спасибо.
 

tony2001

TeaM PHPClub
Fish:
тебе надо чтобы у тебя все страницы были одинаковой высоты до пикселей ??
забудь.
 

Demiurg

Guest
Ты где нибудь видел, что бы разбиение по страницам было не монотонное ? То есть, что бы на разных страницах было разное количество новостей(например).
 

Fish

Guest
2tony2001: не, зачем мне до пикселей.. надо что б не больше, меньше - ради бога, но не больше, а все что больше на след. страницу и так далее..

2Demiurg: не-а, не видел, но нужно, и больше чем уверен, что это можно сделать.. прослема только в 1 строчке, которой не хватает.

зато ты правильно понял чего я имел ввиду и чего я хотел =)))

все еще надеюсь на помощь
 

Fish

Guest
2tony2001:
я конечно понимаю, что это была куча совершенно никому ненужного, никчемного кода,.. но позвольте задать вопрос: как можно помочь/ответить на вопрос не видя кода и не зная о чем речь.. если конечно хочешь помочь..
другое дело если помогать не хочешь/не можешь..

может я и ошибаюсь, но дело обстоит именно так, ведь телепаты все в отпуске, как было сказано некогда (c) si

tony2001, зачем было удалять скрипт?

и может ли кто ответить на этот вопрос?

надеюсь на помощь..

P.S. сорри, что может быть грубова-то получилось..
 

Fish

Guest
si,
я все понимаю, и правила я прочитал,
единственное что было не так - это то что сообщение не соответствовало пункту 3. (Не пишите больше 10-15 строк кода. Никто не будет вникать в ваш код длинной 100 строк.
)
НО! если проблема в том-то и состоит, что для решения вопроса/помощи мне необходим весь код, или по крайней мере большая его часть, и в 10-15 строк думаю будет не уложиться..

а такой вариант: если я выложу необходимый код где-нить у себя и дам на него линк - это будет нормально?

и попутно вопрос:
на этом форуме мне смогут помочь?

буду немерено бдагодарен.

спасибо.
 

tony2001

TeaM PHPClub
Слушай, у тебя проблема с пониманием _ПРИНЦИПА_, а не с кодом.
Поэтому приведенный тобой код мало того, что абсолютно нечитабелен, но еще и никому не нужен.
 

Krisha

pain in the neck
Fish, да ты не "кипишуй", ты пошагово опиши как и что ты делаешь и на каком шаге у тебя ступор, тогда они тебе помогут, а так тока будите заниматься словестной перепалкой.

Вообще полезно бывает для самого себя определить алгоритм(последовательность) действий в голове или на бумаге, тогда твои вопросы буду более конкретные и понятные другим.
 

Fish

Guest
2tony2001: с пониманием _принципа_ у меня все в порядке, но могу согласиться с тем, что выражаю я свои мысли не всегда понятно и доходчиво..
что код нечитабелен - тоже допускаю, но вот что никому не нужен.. это ты зря..

2Krisha: я уже не "кипишусь"..
понимаю что если кто-то один не прекратит - то это действительно ни к чему хорошему не приведет..

я понимаю эту самую последовательность действий. В голове, на бумаге это все у меня давно исписано.. но я не понимаю как этот алгоритм действий оживить в коде..

потому и прошу помощь..

ок, щас попробую привести все в "читабельный" вид, и напишу попозже что как я делаю и на каком шаге у меня ступор..

2tony2001, 2Demiurg, 2si: извиняюсь.

2Krisha: спасибо.
 

Fish

Guest
теперь есть конкрентый вопрос..

код:
PHP:
//$allnews - получает количество всех новостей из бд
//$lenxnews - высота одной новости
//$asd - максимальная высота новостей на 1 стр.
//$asd - пусть к примеру будет 500
for($i=0;$i<$allnews;$i++) {	
	if($lenxnews[$i] <= $asd ) {
		$k=$i+1;
	}
	else {
		echo("aaa");
	}


}
		echo("$k<br>\n");
сейчас if сравнимает только если одна новость меньше макс. длинны, а нужно что бы он как-то плюсовал новости попорядку и как только сумма новостей будет почти максимальна - я узнаю эту новость а следовательно и сколько у меня влезло новостей на одну страницу.. например если $lenxnews[0]+$lenxnews[1]+$lenxnews[2] =490 (максимально 500)
то $k=2

и так дальше, в зависимости от страницы..

т.е. по идее дальше он должен считать так: если $lenxnews[3]+$lenxnews[4] = 450 ...

причем нужно что б он сам прекращал считать, если :
$lenxnews[0]+$lenxnews[1]+$lenxnews[2] = 490, а если еще и +$lenxnews[3] = 560 , но нужно то что б влазило в 500..

вопрос:
какое условие написать в if что бы это работало?
и узнать $k - кол-во влезаемых новостей на страницу..


P.S. так я правильно вопрос задал?
 
Сверху