|
|
|
| Здравствуйте!! помогите понять почему эта *редиска* мне показывает что в данном коде:
$list = 1;
$a=3;
Всего страниц: ".$a."<br>";
$b=0;
$c=1;
$i=0;
while ($b<$a)
{
if ($page=$c)
{
echo "[".$c."]";
}
else
{
echo '<a href="all.php?i='.$i.'">['.$c.']</a>';
}
$i = $i+$list;
++$c;
++$b;
}
| Он мне показывает что $page=$c....и выводит все номера страниц как текст, а необходимо, чтобы текстом было только одно значение(текущая страница).....ПОМОГИТЕ ПЛИЗ ПОЧЕМУ IF непашет ведь вроде все визуально правильно.....ИЛИ НЕТ?? | |
|
|
|
|
|
|
|
для: $Konstantin=const
(22.04.2008 в 19:30)
| | Условие if неверно. Ты в нем присваиваешь($page=$c), а нао проверять равны ли ($page==$c).
Вот пример, если бы текущая страница была первая:
$list = 1;
$a=3;
echo "Всего страниц: ".$a."<br>";
$b=0;
$c=1;
$i=0;
$page=1;
while ($b<$a)
{
if ($page==$c)
{
echo "[".$c."]";
}
else
{
echo '<a href="all.php?i='.$i.'">['.$c.']</a>';
}
$i = $i+$list;
++$c;
++$b;
}
|
| |
|
|
|
|
|
|
|
для: Shey
(22.04.2008 в 19:36)
| | Благодарю вас, Shey, заработало)))... | |
|
|
|
|
|
|
|
для: $Konstantin=const
(22.04.2008 в 19:40)
| | сделал постраничный вывод по 10 сообщений на странице, все работает как надо за исключением одной вещи: когда всего сообщений 1-9 или 11-19 или 21-29 и т.д. навигация работает как нужно, но вот если всего сообщений 10 или 20 или 30 или 40 и т.д. с навигацией непорядок. Чтобы вам было понятние в чем проблема я ее не напишу, а "сфотографирую", вот смотрите:
тут все норманьно
http://s59.radikal.ru/i163/0901/64/2b90dae56c62.jpg
а тут нет
http://i002.radikal.ru/0901/61/45cb657f3442.jpg
вот код страницы
<?
$header = "data/header.php";
$footer = "data/footer.php";
$data = "data/guest.dat";
include $header;
$f = file_get_contents($data);
$message_na_stran = 10;
preg_match_all("#([^\t]+)(\t|$)#U", $f, $out, PREG_PATTERN_ORDER);
for($i = -1; $i < count($out[0]); $i++) {
$temp[] = trim($out[0][$i]);
}
if(isset($_GET["page"])) $page = $_GET["page"];
else $page = 1;
$total_message = count($temp);
$number_na_stran = (int)($total_message/$message_na_stran);
if(($total_message/$message_na_stran) - $number_na_stran != 0) $number_na_stran++;
$first_mes_na_stran = (($page - 1)*$message_na_stran + 1);
$end = $page*$message_na_stran + 1;
if($end > $total_message) $end = $total_message;
// а теперь сама страница :)
for($i = $first_mes_na_stran; $i < $end; $i++) {
echo $temp[$i]."<br>";
}
// навигация
for($i = 1; $i <= $number_na_stran; $i++) {
if($i != $number_na_stran) {
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".(($i - 1)*$message_na_stran + 1)."-".$i*$message_na_stran."]</a> ";
} else {
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".(($i - 1)*$message_na_stran + 1)."-".($total_message - 1)."]</a> ";
}
} // конец навигации
echo "<br><a href=\"add.php\">Добавить сообщение</a>";
// страница кончилась
include $footer;
?>
|
как вы понимаете в файле "data/header.php" прописанно <html><head><title></title></head><body>, в файле "data/footer.php" - </body></html>, ну а в файле "data/guest.dat" хранятся сообщения.
Народ пожалуйста подскажите как исправить эту ошибку, я из-за нее уже второй день на месте стою, помогите | |
|
|
|
|
|
|
|
для: DarkMan
(03.01.2009 в 20:16)
| | Попробуйте так:
<?
$header = "data/header.php";
$footer = "data/footer.php";
$data = "data/guest.dat";
include $header;
$f = file_get_contents($data);
$message_na_stran = 10;
preg_match_all("#([^\t]+)(\t|$)#U", $f, $out, PREG_PATTERN_ORDER);
for($i = 0; $i < count($out[0]); $i++) {
$temp[] = trim($out[0][$i]);
}
$page = isset($_GET["page"])?$_GET["page"]:null;
$total_message = count($temp);
$number_na_stran = (int)(($total_message -1)/$message_na_stran) + 1;
if(!$page || $page < 0) $page = 1;
if($page > $number_na_stran) $page = $number_na_stran;
$first_mes_na_stran = $page * $message_na_stran - $message_na_stran;
$end = $page*$message_na_stran ;
// а теперь сама страница :)
for($i = $first_mes_na_stran; $i < $end; $i++) {
echo $temp[$i]."<br>";
}
// навигация
for($i = 1; $i <= $number_na_stran; $i++)
{
$j = $i * $message_na_stran - $message_na_stran + 1;
$k = $i * $message_na_stran;
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".$j."-".$k."]</a> ";
} // конец навигации
echo "<br><a href=\"add.php\">Добавить сообщение</a>";
// страница кончилась
include $footer;
?>
|
По моему должно сработать. | |
|
|
|
|
|
|
|
для: Николай2357
(03.01.2009 в 22:34)
| | спасибо чувак, все работает, я тебя уважаю | |
|
|
|