Xpoint
   [напомнить пароль]

Немогу понять где ошибка

Метки: [без меток]
2009-07-24 14:02:28 [обр] Станилав[досье]
сообщение промодерировано

Не пойму где ошибка или в запросе или в самом коде.

При поиске на сайте машин выдает 15 страниц.

После 16 страницы т.е 17 18 19 выдает все время первые 15 результатов.

Куда копать уже прочитал и мануалы и т д. нечего не помогает.

Не могли бы вы подсказать ? как можно узнать где именно ошибка может выполняться ?

Вот сам код странички

<?
require_once("conn.php");
require_once("includes.php");
if(!isset($_GET['page'])){ 
    $page = 1; 
} else { 
    $page = $_GET['page']; 
} 
$max_results = 15; 
$from = (($page * $max_results) - $max_results);
$query = array();

if(!empty($_GET[c]))
{
   $query[] = "cars_listings.CategoryID = '$_GET[c]' ";
}

if(!empty($_GET[AgentID]))
{
   $query[] = "cars_listings.AgentID = '$_GET[AgentID]' ";
}

if(!empty($_GET[search_country]))
{
   $query[] = "cars_agents.country = '$_GET[search_country]' ";
}

if(!empty($_GET[search_state]))
{
   $query[] = "cars_agents.state = '$_GET[search_state]' ";
}

if(!empty($_GET[search_city]))
{
   $query[] = "cars_agents.city = '$_GET[search_city]' ";
}

if(!empty($_GET[min]))
{
   $query[] = "cars_listings.price >= '$_GET[min]' ";
}

if(!empty($_GET[max]))
{
   $query[] = "cars_listings.price <= '$_GET[max]' ";
}

if(!empty($_GET[year1]))
{
   $query[] = "cars_listings.VehicleYear >= '$_GET[year1]' ";
}

if(!empty($_GET[year2]))
{
   $query[] = "cars_listings.VehicleYear <= '$_GET[year2]' ";
}

if(!empty($_GET[before]))
{
   $MyDate = strtotime("-$_GET[before]");
   $query[] = "cars_listings.DateAdded >= '$MyDate' ";
}

if(!empty($_GET[SelectMake]))
{
   $query[] = "cars_listings.vehiclemake = '$_GET[SelectMake]' ";
}

if(!empty($query))
{
   $MyQuery = implode(" and ", $query);
   $MyQuery = " and ".$MyQuery;
}


////////////////////////////////////////////////////////////
//////////      order by
////////////////////////////////////////////////////////////







$q1 = "select * from cars_listings, cars_agents, cars_priority, cars_vehicle where cars_listings.AgentID = cars_agents.AgentID and cars_agents.PriorityLevel = cars_priority.PriorityLevel and cars_agents.AccountStatus = 'active' and cars_listings.VehicleMake = cars_vehicle.VehicleID $MyQuery order by cars_agents.PriorityLevel desc, cars_listings.DateAdded asc  limit $from, $max_results ";
$total_results = mysql_num_rows(mysql_query("select * from cars_listings, cars_agents, cars_priority, cars_vehicle where cars_listings.AgentID = cars_agents.AgentID and cars_agents.PriorityLevel = cars_priority.PriorityLevel and cars_agents.AccountStatus = 'active' and cars_listings.VehicleMake = cars_vehicle.VehicleID $MyQuery")); 

$total_pages = ceil($total_results / $max_results);

$qnav = "select * from cars_listings, cars_agents where cars_listings.AgentID = cars_agents.AgentID $MyQuery";

$r1 = mysql_query($q1) or die(mysql_error());
$lrows = mysql_num_rows($r1);

if($lrows > '0')
{
   $ListingTable .= "<table align=center width=95% cellspacing=0>\n";
   $ListingTable .= "<tr>\n<td width=75>&nbsp;</td>\n\t";
   
   $ListingTable .= "<td width=200 align=center><a class=BlackLink href=\"search.php?c=$_GET[c]&AgentID=$_GET[AgentID]&search_city=$_GET[search_city]&search_state=$_GET[search_state]&search_country=$_GET[search_country]&min=$_GET[min]&max=$_GET[max]&year1=$_GET[year1]&year2=$_GET[year2]&before=$_GET[before]&vehicle=$_GET[vehicle]\">Vettura</a></td>\n\t";
   
   $ListingTable .= "<td width=125 align=center><a class=BlackLink href=\"search.php?c=$_GET[c]&AgentID=$_GET[AgentID]&search_city=$_GET[search_city]&search_state=$_GET[search_state]&search_country=$_GET[search_country]&min=$_GET[min]&max=$_GET[max]&year1=$_GET[year1]&year2=$_GET[year2]&before=$_GET[before]\">Chilometraggio</a></td>\n\t";
   
   $ListingTable .= "<td align=center width=100><a class=BlackLink href=\"search.php?c=$_GET[c]&AgentID=$_GET[AgentID]&search_city=$_GET[search_city]&search_state=$_GET[search_state]&search_country=$_GET[search_country]&min=$_GET[min]&max=$_GET[max]&year1=$_GET[year1]&year2=$_GET[year2]&before=$_GET[before]\">Prezzo</a></td>\n";
   
   $ListingTable .= "</tr>\n</table>\n\n";

   $ListingTable .= "<table align=center width=95% border=1 bordercolor=#999999 rules=rows cellspacing=0>\n";

   while($a1 = mysql_fetch_array($r1))
   {
      $ListingTable .= "<tr style=\"border-width:1; border-color:grey\" onMouseOver=\"this.style.background='#CCD1C4'; this.style.cursor='hand'\" onMouseOut=\"this.style.background='white'\" onClick=\"window.open('info.php?id=$a1[ListingID]', '_top')\">\n\t";
      $ListingTable .= "<td height=60>";

      $ListingTable .= "<table align=center width=\"100%\">\n";
      
      $ListingTable .= "<caption align=center>";
      if($aset[Sitefee]=="0")
      {
      if($a1[PriorityLevel] > '1')
      {
         $ListingTable .= "<span class=RedLink>$a1[PriorityName] listing</span></caption>\n";   
      }
      }
      $ListingTable .= "<tr>\n\t<td width=75>";

      if(!empty($a1[image]))
      {
         $images = explode("|", $a1[image]);
         $MyImage = $images[0];

         $ListingTable .= "<img src=\"cars_images/$MyImage\" width=80 height=60 border=1>";
      }
      else
      {
         $ListingTable .= "<img src=\"no_image.gif\" border=1>";
      }

      $ListingTable .= "</td>\n\t";

      $MyMiles = number_format($a1[mileage], 0, "", "'");

      $ListingTable .= "<td width=225 valign=top><b>$a1[VehicleName] $a1[VehicleModel]</b><br>Offer ID: $a1[ListingID]</td>\n\t";
      $ListingTable .= "<td width=100 valign=top align=center>$MyMiles miles<br>$a1[VehicleYear] year</td>\n\t";

      $MyPrice = number_format($a1[Price], 2, ".", "'");

      $ListingTable .= "<td align=center width=100 valign=top><b>$aset[Currencya]$MyPrice</td>\n";

      $ListingTable .= "</tr>\n";

      $ShortDesc = substr($a1[DetailedDesc], 0, 200);

      $ListingTable .= "<tr>\n\t<td colspan=4>$ShortDesc</td>\n</tr>\n";

      $ListingTable .= "</table>\n\n</td>\n</tr>\n\n";

   }

   $ListingTable .= "</table>";

      $rnav = mysql_query($qnav) or die(mysql_error());
      $rows = mysql_num_rows($rnav);

         if($rows > $max_results)
         {
            $ListingTable .=  "<br><table align=center width=580>";
            $ListingTable .= "<td align=center><font face=verdana size=2> | ";

            $pages = ceil($rows/$max_results);

            for($i = 0; $i <= ($pages); $i++)
            {
               $PageStart = $max_results*$i;
   
               $i2 = $i + 1;
   
               if($PageStart == $Start)
               {
                  $links[] = " <span class=RedLink>$i2</span>\n\t ";
               }
               elseif($PageStart < $rows)
               {
                  $links[] = " <a class=BlackLink href=\"search.php?Start=$PageStart&c=$_GET[c]&AgentID=$_GET[AgentID]&search_city=$_GET[search_city]&search_state=$_GET[search_state]&search_country=$_GET[search_country]&min=$_GET[min]&max=$_GET[max]&year1=$_GET[year1]&year2=$_GET[year2]&SelectMake=$_GET[SelectMake]&vehicle=$_GET[vehicle]&p=$_GET[p]&r=$_GET[r]\">$i2</a>\n\t ";   
               }
            }

            $links2 = implode(" | ", $links);
      
            $ListingTable .= $links2;

            $ListingTable .= "| </td>";

            $ListingTable .= "</table><br>\n";

         }
}
else
{
   $ListingTable = "<br><br><center>Non &&#232&& stato trovato alcun risultato corrispondente alla ricerca.</center>";
}

require_once("templates/HeaderTemplate.php");
require_once("templates/introIII.php");
require_once("templates/SearchTemplate.php");   
require_once("templates/FooterTemplate.php");

?>
спустя 25 минут [обр] Алексей В. Иванов(509/2861)[досье]
Немогу понять где ошибка
Не мудрено
спустя 10 минут [обр] Давид Мзареулян(536/1003)[досье]
<offtopic>Станислав, не поверите — каждый Ваш пост читаю и плачу…</offtopic>
спустя 37 минут [обр] ddd(0/36)[досье]

Станилав[досье]

вы сюда ходили: http://www.phpfaq.ru/debug ?

спустя 27 минут [обр] Станилав[досье]

вы сюда ходили: http://www.phpfaq.ru/debug ?

Да не ошибка. т.е ошибка в коде что выводит после 16 все время первый 15 постов. Есть же где то эта ошибка которая выводит после 16 поста все время первый 15 постов ?..

спустя 2 минуты [обр] Станилав[досье]
Я замплачю PayPal Visa помогите только я не соображаю в php хорошо.
спустя 11 секунд [обр] ddd(0/36)[досье]
что?
спустя 5 минут [обр] Станилав[досье]

Итак. Есть поиск. когда что то вводит в поиск внизу идет нумерация найденых страниц.

1 2 3 4 5 6 7 .... После 15 странице к примеру нажимаем на страницу 16 а в ней результаты из 1 страницы в которой 15 результатов. и так все страницы после 15

спустя 6 минут [обр] ddd(0/36)[досье]

Допустим, переменная $q содержит sql запрос. для каждой страницы запрос различается условием — верно? Если результаты какие-то не те, то с запросом что-то не так.

Вывод: на каждой странице выводите "<br>запрос: $q</br>" и смотрите что там не то происходит с запросом после 15-страницы.

спустя 1 день 9 часов [обр] Филипп Ткачев(20/112)[досье]

Станилав[досье], можно я немножко поломаю ваш сайт :[

Выведите переменную $q1 сразу после формирования запроса. Отладьте ЗАПРОС в Heidi SQL.

Powered by POEM™ Engine Copyright © 2002-2005