странициране на търсачка

pro12

Registered
Имам проблем с странициранетоо Защо мого да давав следваща страница безкраино като дам предишна стр защо ми излизат сички записи от колоната ime?
PHP:
<?php 
include ('conf.php'); //???????? config ?????
$tarsene = $_GET['search']; 
 

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

$max= "1"; 

$end = $page+$max; 
mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни"); 
@mysql_select_db($db_name) or die("Грешна база данни"); 
$query = " SELECT * FROM news  WHERE ime LIKE '%$tarsene%'   ORDER BY id DESC LIMIT $page,$max";
$result = mysql_query($query) or die('Error, query failed'); 
$row = mysql_numrows($result); 

echo "Намерени резултати за: <b><i>$tarsene</i></b>"; 
echo "<br />"; 
while($row = mysql_fetch_array($result)) 
{ 
$ime=$row[ime]; 
 
echo "$ime<br />"; 
 
} 
$next = $end+1; 

$prev = $page-1; 

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

?>
 
Код:
<?php
 include(„conf.php“);
 $search = htmlspecialchars(addslashes($_POST['search']));
 $sql = mysql_query(„ SELECT * FROM news  WHERE ime LIKE   ‘%$search%’  “)or die(mysql_error());
 # Ако искате още допълнителни полета , добавете ги по същия начин WHERE нещо LIKE ‘%$search%’ OR друго-нещо LIKE ‘%$search%’
 $pages = mysql_num_rows($sql);
 if($pages == NULL || $pages == 0){echo“Няма намерени резултати“;}
 else{
 $pp = „2″; // По колко резултата искате да изкарате
 $pages = ceil($pages/$pp);
 if(!isset($_GET['page'])){$page = 1;}else{$page = htmlspecialchars(addslashes($_GET['page']));}
 $limit = ( $pp * $page ) – $pp;
 $mysql = mysql_query(„ SELECT * FROM news  WHERE ime LIKE ‘%$search%’  ’ ORDER BY id DESC LIMIT $limit,$pp“)or die(mysql_error());
 while($row = mysql_fetch_array($mysql)){
 echo“ $row[ime] <br /> <br /> „;
 } 
$actual = „<b>$page</b>“;
 if($page < $pages){
 $firstpage = „<a href=’?page=1′>««</a>“;
 $prev = $page – 1;
 $prevpage = „<a href=’?page=$prev’>«</a>“;
 $next = $page + 1;
 $nextpage = „<a href=’?page=$next’>»</a>“;
 $finalpage = „<a href=’?page=$pages’>»»</a>“;
 } 
if($page == 1){
 $firstpage = „««“;
 $prevpage = „«“;
 $next = $page + 1;
 $nextpage = „<a href=’?page=$next’>»</a>“;
 $finalpage = „<a href=’?page=$pages’>»»</a>“;
 } 
if($pages == $page){
 if($pages > 1){
 $firstpage = „<a href=’?page=1′>««</a>“;
 $prev = $page – 1;
 $prevpage = „<a href=’?page=$prev’>«</a>“;
 $next = $page + 1;
 $nextpage = „»“;
 $finalpage = „»»“;
 }
 else{
 $firstpage = „««“;
 $prevpage = „«“;
 $nextpage = „»“;
 $finalpage = „»»“;
 } 
}
 elseif(($pages == 1) && ($pages == 0)){
 $firstpage = „««“;
 $prevpage = „«“;
 $nextpage = „»“;
 $finalpage = „»»“;
 }
 echo “ $firstpage $prevpage $actual $nextpage $finalpage <br />“;
 $sql = mysql_query(„ SELECT * FROM news  WHERE ime LIKE  ‘%$search%’   ORDER BY id DESC“)or die(mysql_error());
 $mres = mysql_num_rows($sql)or die(mysql_error());
 echo “ Общо $mres резултата „;
 }
 ?>
Сега ми дава греика
Parse error: syntax error, unexpected T_STRING in /home/a6080885/public_html/admin/news/search.php on line 4
 
Виж си всички двойни и единични кавички.
това -> „“ , трябва да е ""
това -> ‘’ , трябва да е ' '

Първо оправи тези неща...
Код:
<?php
include('conf.php');
 $search = htmlspecialchars(addslashes($_POST['search']));
 $sql = mysql_query("SELECT * FROM news  WHERE ime LIKE   '%$search%'")or die(mysql_error());
 # Ако искате още допълнителни полета , добавете ги по същия начин WHERE нещо LIKE ‘%$search%' OR друго-нещо LIKE ‘%$search%'
 $pages = mysql_num_rows($sql);
 if($pages == NULL || $pages == 0){
     echo"Няма намерени резултати";
 }else{
     $pp = "2"; // По колко резултата искате да изкарате
 $pages = ceil($pages/$pp);
 if(!isset($_GET['page'])){$page = 1;}else{$page = htmlspecialchars(addslashes($_GET['page']));}
 $limit = ( $pp * $page ) - $pp;
 $mysql = mysql_query(" SELECT * FROM news  WHERE ime LIKE '%$search%'   ORDER BY id DESC LIMIT $limit,$pp")or die(mysql_error());
 while($row = mysql_fetch_array($mysql)){
     echo "$row[ime] <br /> <br />";
 } 
$actual = "<b>$page</b>";
 if($page < $pages){
     $firstpage = '<a href="?page=1">««</a>';
 $prev = $page - 1;
 $prevpage = '<a href="?page=$prev">«</a>';
 $next = $page + 1;
 $nextpage = "<a href='?page=$next'>»</a>";
 $finalpage = "<a href='?page=$pages'>»»</a>";
 } 
if($page == 1){
    $firstpage = "««";
 $prevpage = "«";
 $next = $page + 1;
 $nextpage = "<a href='?page=$next'>»</a>";
 $finalpage = "<a href='?page=$pages'>»»</a>";
 } 
if($pages == $page){
    if($pages > 1){
        $firstpage = "<a href='?page=1′>««</a>";
 $prev = $page - 1;
 $prevpage = "<a href='?page=$prev'>«</a>";
 $next = $page + 1;
 $nextpage = "»";
 $finalpage = "»»";
 }
    else{
        $firstpage = "««";
 $prevpage = "«";
 $nextpage = "»";
 $finalpage = "»»";
 }
}
elseif(($pages == 1) && ($pages == 0)){
    $firstpage = "««";
 $prevpage = "«";
 $nextpage = "»";
 $finalpage = "»»";
 }
 echo " $firstpage $prevpage $actual $nextpage $finalpage <br />";
 $sql = mysql_query(" SELECT * FROM news  WHERE ime LIKE  '%$search%'   ORDER BY id DESC")or die(mysql_error());
 $mres = mysql_num_rows($sql)or die(mysql_error());
 echo " Общо $mres резултата ";
 }
 ?>
 
Код:
<?php
include('conf.php');
$tarsene = $_GET['search']; 
 
     $pp = "1"; // По колко резултата искате да изкарате
 $pages = ceil($pages/$pp);
 if(!isset($_GET['page'])){$page = 1;}else{$page = htmlspecialchars(addslashes($_GET['page']));}
 $limit = ( $pp * $page ) - $pp;
$query = ( " SELECT * FROM news  WHERE ime LIKE '%$tarsene%'   ORDER BY id DESC LIMIT $limit,$pp");  
$result = mysql_query($query) or die('Error, query failed'); 
$row = mysql_numrows($result); 
 
echo "Намерени резултати за: <b><i>$tarsene</i></b>"; 
echo "<br />"; 
while($row = mysql_fetch_array($result)) 
{ 
  
     echo "$row[ime] <br /> <br />";
 } 
$actual = "<b>$page</b>";
 if($page < $pages){
     $firstpage = '<a href="?page=1">««</a>';
 $prev = $page - 1;
 $prevpage = '<a href="?page=$prev">«</a>';
 $next = $page + 1;
 $nextpage = "<a href='?page=$next'>»</a>";
 $finalpage = "<a href='?page=$pages'>»»</a>";
 } 
if($page == 1){
    $firstpage = "««";
 $prevpage = "«";
 $next = $page + 1;
 $nextpage = "<a href='?page=$next'>»</a>";
 $finalpage = "<a href='?page=$pages'>»»</a>";
 } 
if($pages == $page){
    if($pages > 1){
        $firstpage = "<a href='?page=1′>««</a>";
 $prev = $page - 1;
 $prevpage = "<a href='?page=$prev'>«</a>";
 $next = $page + 1;
 $nextpage = "»";
 $finalpage = "»»";
 }
    else{
        $firstpage = "««";
 $prevpage = "«";
 $nextpage = "»";
 $finalpage = "»»";
 }
}
elseif(($pages == 1) && ($pages == 0)){
    $firstpage = "««";
 $prevpage = "«";
 $nextpage = "»";
 $finalpage = "»»";
 }
  echo " $firstpage $prevpage $actual $nextpage $finalpage <br />";
 ?>
Защо на 2стр ми излиза сичко
 
Код:
<?php
include('conf.php');
$tarsene = $_GET['search']; 
 
     $pp = "1"; // По колко резултата искате да изкарате
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM news "),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);
$query = ( " SELECT * FROM news  WHERE ime LIKE '%$tarsene%'   ORDER BY id DESC LIMIT $limitvalue,$pp");  
$result = mysql_query($query) or die('Error, query failed'); 
$row = mysql_numrows($result); 
 
echo "Намерени резултати за: <b><i>$tarsene</i></b>"; 
echo "<br />"; 
while($row = mysql_fetch_array($result)) 
{ 
  
     echo "$row[ime] <br /> <br />";
 } 
function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);

$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);

/* ????????? ?? ??????? � ?? ???????? ???????? */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><font face="Trebuchet MS">�</font></a> ');
}

for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b>[$i]</b> ";
}
else {

echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> '); //????????? ?? ??????????
}
}
}
if (round($numofpages) == "0") {
echo "[$i]";
}
/* ????????? ?? ??????? � ?? ???????? ???????? */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><font face="Trebuchet MS">�</font></a>');
}
}

/* ????????? ?? ????? ???? ???????? ? ????? ?? ???????? */
echo '<br>';
echo '???? ????????: '.round($numofpages).'<br>';

per_page("?page=%page", "5");
 ?>
Имам проблем с този ред
Код:
 $total = mysql_result(mysql_query("SELECT COUNT(*) FROM news "),0);
изкарва всички записи от ime защо?
 
Намерих търсачка с странициране
Код:
<?php
    include ('conf.php'); //???????? config ?????
$button = $_GET ['submit'];
$search = $_GET ['search']; 
  
if(strlen($search)<=1)
echo "Search term too short";
else{
echo "Намерени резултати за: <b>$search</b> <hr size='1'></br>";
 
    
$search_exploded = explode (" ", $search);
    
foreach($search_exploded as $search_each)
{
$x++;
if($x==1)
$construct .="ime LIKE '%$search_each%'";
else
$construct .="AND ime LIKE '%$search_each%'";
    
}
  
$constructs ="SELECT * FROM news WHERE $construct";
$run = mysql_query($constructs);
    
$foundnum = mysql_num_rows($run);
    
if ($foundnum==0)
echo "Няма намерени резултати за <b>$search</b>.</br></br>1. 
 ";
else
{ 
  
echo "$foundnum results found !<p>";
  
$per_page = 1;
$start = $_GET['start'];
$max_pages = ceil($foundnum / $per_page);
if(!$start)
$start=0; 
$getquery = mysql_query("SELECT * FROM news WHERE $construct LIMIT $start, $per_page");
  
while($runrows = mysql_fetch_assoc($getquery))
{
$ime = $runrows ['ime'];
$desc = $runrows ['description'];
$url = $runrows ['url'];
   
echo "
<a href='$url'><b>$ime</b></a><br>
$desc<br>
<a href='$url'>$url</a><p>
";
    
}
  
//Pagination Starts
echo "<center>";
  
$prev = $start - $per_page;
$next = $start + $per_page;
                       
$adjacents = 3;
$last = $max_pages - 1;
  
if($max_pages > 1)
{   
//previous button
if (!($start<=0)) 
echo " <a href='search.php?search=$search&submit=Search&start=$prev'>Prev</a> ";    
          
//pages 
if ($max_pages < 7 + ($adjacents * 2))   //not enough pages to bother breaking it up
{
$i = 0;   
for ($counter = 1; $counter <= $max_pages; $counter++)
{
if ($i == $start){
echo " <a href='search.php?search=$search&submit=Search&start=$i'><b>$counter</b></a> ";
}
else {
echo " <a href='search.php?search=$search&submit=Search&start=$i'>$counter</a> ";
}  
$i = $i + $per_page;                 
}
}
elseif($max_pages > 5 + ($adjacents * 2))    //enough pages to hide some
{
//close to beginning; only hide later pages
if(($start/$per_page) < 1 + ($adjacents * 2))        
{
$i = 0;
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($i == $start){
echo " <a href='search.php?search=$search&submit=Search&start=$i'><b>$counter</b></a> ";
}
else {
echo " <a href='search.php?search=$search&submit=Search&start=$i'>$counter</a> ";
} 
$i = $i + $per_page;                                       
}
                          
}
//in middle; hide some front and some back
elseif($max_pages - ($adjacents * 2) > ($start / $per_page) && ($start / $per_page) > ($adjacents * 2))
{
echo " <a href='search.php?search=$search&submit=Search&start=0'>1</a> ";
echo " <a href='search.php?search=$search&submit=Search&start=$per_page'>2</a> .... ";
 
$i = $start;                 
for ($counter = ($start/$per_page)+1; $counter < ($start / $per_page) + $adjacents + 2; $counter++)
{
if ($i == $start){
echo " <a href='search.php?search=$search&submit=Search&start=$i'><b>$counter</b></a> ";
}
else {
echo " <a href='search.php?search=$search&submit=Search&start=$i'>$counter</a> ";
}   
$i = $i + $per_page;                
}
                                  
}
//close to end; only hide early pages
else
{
echo " <a href='search.php?search=$search&submit=Search&start=0'>1</a> ";
echo " <a href='search.php?search=$search&submit=Search&start=$per_page'>2</a> .... ";
 
$i = $start;                
for ($counter = ($start / $per_page) + 1; $counter <= $max_pages; $counter++)
{
if ($i == $start){
echo " <a href='search.php?search=$search&submit=Searc&start=$i'><b>$counter</b></a> ";
}
else {
echo " <a href='search.php?search=$search&submit=Search&start=$i'>$counter</a> ";   
} 
$i = $i + $per_page;              
}
}
}
          
//next button
if (!($start >=$foundnum-$per_page))
echo " <a href='search.php?search=$search&submit=Search&start=$next'>Next</a> ";    
}   
echo "</center>";
} 
}
?> защо като търсия на кирилица не открива резултат?
 

Back
Горе