помощ за един код

pro12

Registered
Ето кода
Код:
<?php include('conf.php'); ?>
<?php

$page = (int) $_GET['page'];

$max= "1"; //�� ����� �� ������� �� ��������

$end = $page+$max;




$category = 1;
if(isset($_GET['category']) and is_numeric($_GET['category'])) {
$category = intval($_GET['category']);
} 
$res = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end")
or die (mysql_error());
if(mysql_num_rows($res) > 0)
 
if (!$_GET[ime])

{ 
$getime = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end"); 
while ($ime = mysql_fetch_array($getime)) 
{ 
echo ("<img src='http://vivaaa.netau.net/site1/news/upload/$ime[snimka]' width='40' height='40' /><a href=\"mem.php?ime=$ime[ime]\">$ime[ime]</a><br />\n"); 

}
} 
ELSE 
{ 
$getime = mysql_query("SELECT * from news where ime = '$_GET[ime]' limit $page,$end"); 
$imenum = mysql_num_rows($getime); 
if ($imenum == ime) 
{ 
 
echo "no new";
 
} 
else 
{ 
$profile = mysql_fetch_array($getime); 
 echo("$profile[ime]<br/>");
 echo bbcode($profile['nowina']);
echo(" <br/><img src=http://vivaaa.netau.net/site1/news/upload/$rows[snimka]$profile[snimka] width=255px height=200px/><br/>
 
 
avtor ".$profile['awtor']." <br/>"); 



}


}

$next = $end+0; 

$prev = $page-1; 

echo "<a href=\"asd.php?page=".$next."\">следваща</a>"; 
echo "<a href=\"asd.php?page=".$prev."\">предишна</a>"; 

?>
Проблема е с страницирането като дам следваща страница без значение дали има информация или не ми дава следваща страница искам да може да се дава следваща страница само ако има каво да се показва
 
Направи си една заявка с всички новини (сложи си where ако искаш да показваш само определени новини):
PHP:
$query = mysql_query("select count(*) from news");
$result = mysql_fetch_row($query);
$count = $result[0];
Дотук имаш броя на новините.
PHP:
if($next >$count){
   $link = "<a href=\"asd.php?page=".$prev."\">предишна</a>";
}
elseif($prev == 0){
   $link = "<a href=\"asd.php?page=".$next."\">следваща</a>";
}
else {
   $link ="<a href=\"asd.php?page=".$next."\">следваща</a> <a href=\"asd.php?page=".$prev."\">предишна</a>";
}
Дефинираш $link, която съдържа линковете, които ще изведеш. Накрая махаш двете echo-та и слагаш
PHP:
echo $link;
Всичкия код го слагаш след
PHP:
$prev = $page - 1;
 
pro12 каза:
Може ли направо да да ми оправиш кода
А какъв е проблемът сам да си го оправиш?
Добре де, ето тук е целия код - важи до 4 август 15 часа. (1 ден)
 
Кода дава гришка
Parse error: syntax error, unexpected T_VARIABLE in /home/a6080885/public_html/site1/news/asd.php on line 8
 
Ето
5.
5.
Код:
$end = $page $max;

 6.
$category = 1;

 7.
if(isset($_GET['category']) and is_numeric($_GET['category'])) {

 8.
$category = intval($_GET['category']);

 9.
} 

10.
$res = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end")

 11.
or die (mysql_error());

 12.
if(mysql_num_rows($res) > 0)
[/code]
 
Пробва да заместиш тоя осми ред с
PHP:
$category = (int) $_GET['category'];
Ако не стане дай var_dump($_GET['category']); и кажи какво ти дава.
 
Пробвах и така пак дава грешка Parse error: syntax error, unexpected T_VARIABLE in /home/a6080885/public_html/site1/news/asd.php on line 14
 
Ето и проблемния код
Код:
<?php include('conf.php'); ?>


<?php


$page = (int) $_GET['page'];

 
$max= "1";


$end = $page $max;


$category = 1;


if(isset($_GET['category']) and is_numeric($_GET['category'])) {


$category = var_dump($_GET['category']);


} 


$res = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end")

 
or die (mysql_error());


if(mysql_num_rows($res) > 0)


if (!$_GET[ime])





$getime = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end"); 


while ($ime = mysql_fetch_array($getime)) 


{ 


echo ("<img src='http://vivaaa.netau.net/site1/news/upload/$ime[snimka]' width='40' height='40' /><a href=\"mem.php?ime=$ime[ime]\">$ime[ime]</a><br />\n"); 


}


} 


ELSE 


{ 

$getime = mysql_query("SELECT * from news where ime = '$_GET[ime]' limit $page,$end"); 


$imenum = mysql_num_rows($getime); 


if ($imenum == ime) 


{


echo "no new";


} 


else 


{ 


$profile = mysql_fetch_array($getime); 


 echo("$profile[ime]<br/>");


 echo bbcode($profile['nowina']);

 
echo(" <br/><img src=http://vivaaa.netau.net/site1/news/upload/$rows[snimka]$profile[snimka] width=255px height=200px/><br/>avtor ".$profile['awtor']." <br/>");

 
}

 
}

 
$next = $end 0; 


$prev = $page-1; 


$query = mysql_query("select count(*) from news");


$result = mysql_fetch_row($query);


$count = $result[0];

if($next >$count){


   $link = "<a href=\"asd.php?page=".$prev."\">предишна</a>";


}


elseif($prev == 0){

    $link = "<a href=\"asd.php?page=".$next."\">следваща</a>";


}


else {


   $link ="<a href=\"asd.php?page=".$next."\">следваща</a> <a href=\"asd.php?page=".$prev."\">предишна</a>";


}

echo $link; 


?>
 
14-ти ред ти е:

PHP:
$end = $page $max;
Което си е абсолютна грешка. Направи го така:

PHP:
$end = $page + $max;

Няма смисъл да давам целия код, просто замести твоя 14-ти ред с този, който ти дадох.
 
Мерси че ми помогна Но дава пак грешка. Parse error: syntax error, unexpected '}' in /home/a6080885/public_html/site1/news/asd.php on line 59 Пробвах Да я оправия направих тока '}' и без скобата пробвах и по двата начина изчезва грешката но се появи нова грешка на 62ред.
Ето редовете с грешките
PHP:
} 


ELSE 


{
 
Така не би трябвало да дава грешка (имаше едни липсващи скоби):
http://pastebin.com/6YWz1bRc
Важи до 9 август 9:20.
 
nqkafff каза:
оправи си енкодинга
Да, трябва да си го оправи, но освен това и да сложи някакви смислени имена на файловете, че аз тотално се обърках. И на новините също. Иначе едва ли ще успеем да ти помогнем.
Освен това имаш едно много странно нещо: от страницата
?category=1
като цъкна "предишна" отивам на
?page=-1
a като цъкна на "следваща", отивам на
?page=1
Тоест цъкам на предишна категория и отивам на -1 страница, а от "следваща" категория отивам на 1 страница. Нещо не схващам... как от категория отивам на страница (category->page)
 
Промених малко кода.
Код:
 <?php include('conf.php'); ?>
<?php

$page = (int) $_GET['page'];

$max= "1"; //по колко да изкарва на страница

$end = $page+$max;



$category = 1;
if(isset($_GET['category']) and is_numeric($_GET['category'])) {
$category = intval($_GET['category']);
} 
$res = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end")
or die (mysql_error());
if(mysql_num_rows($res) > 0)
 
if (!$_GET[ime])

{ 
$getime = mysql_query("SELECT ime, nowina, awtor,snimka FROM news WHERE type = '".$category."' limit $page,$end"); 
while ($ime = mysql_fetch_array($getime)) 
{ 
echo ("<img src='http://vivaaa.netau.net/site1/news/upload/$ime[snimka]' width='40' height='40' /><a href=\"mem.php?ime=$ime[ime]\">$ime[ime]</a><br />\n"); 

}
} 
ELSE 
{ 
$getime = mysql_query("SELECT * from news where ime = '$_GET[ime]' limit $page,$end"); 
$imenum = mysql_num_rows($getime); 
if ($imenum == ime) 
{ 
 
echo "no new";
 
} 
else 
{ 
$profile = mysql_fetch_array($getime); 
 echo("$profile[ime]<br/>");
 echo bbcode($profile['nowina']);
echo(" <br/><img src=http://vivaaa.netau.net/site1/news/upload/$rows[snimka]$profile[snimka] width=255px height=200px/><br/>
 
 
avtor ".$profile['awtor']." <br/>"); 



}


}

$next = $end;

$preview = $page-1;
echo "<a href=\"view news.php?page=".$preview."\">предишна</a>";
echo "<a href=\"view news.php?page=".$next."\">sledva6ta</a>";



?>
Има малак проблем някаде Имам две категории от първата категория извежда като трябва а от втората извежда и от двете защо така?
Проблема е тук някяде според мен
PHP:
$category = 1;
АКо тук сменя категориятя с 2 от втората извежда без проблем но не и от първа.
 
Значи $category съдържа:
1, ако потребителя не е подал категория
$_GET['category'], ако потребителят е подал "числова" категория.

Тогава защо правиш така?
PHP:
$category = 1;
if(isset($_GET['category']) and is_numeric($_GET['category'])) {
$category = intval($_GET['category']);
}
Опитай по нормалния начин:

PHP:
if(isset($_GET['category']) and is_numeric($_GET['category'])) {
   $category = intval($_GET['category']);
}
else {
   $category = 1;
}

Ако не стане: след тези няколко реда дай
PHP:
echo "\$category: ";var_dump($category);
echo "\$_GET['category']";var_dump($_GET['category']);
за да разбереш какво всъщност се случва в скрипта.
 
Ти каза:
Пробвах по нормалния начин и пак същото
Аз каза:
Ако не стане: след тези няколко реда дай
PHP code:

echo "\$category: ";var_dump($category);
echo "\$_GET['category']";var_dump($_GET['category']);

за да разбереш какво всъщност се случва в скрипта.
Той трябва да каза:
echo "\$category: ";var_dump($category);
echo "\$_GET['category']";var_dump($_GET['category']);
За да разбереш какво се случва в скрипта.
И кажи какво ти връща.
 

Back
Горе