Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Помогите исправить багу в скрипте поисковика   Найти похожие ветки 

 
xayam ©   (2008-08-30 11:10) [0]

http://xayam.900megs.com/
проблема такая. Короче если я ввожу в поле Пользователь значение "xayam" то все нормально - http://xayam.900megs.com/index.php?s=&pnumber=30&forum=&user=xayam . Заметьте что выводится две ветки из форума Базы. Так вот если добавить ограничение где искать "Базы", то отобразиться одна ветка - http://xayam.900megs.com/index.php?s=&pnumber=30&forum=%D0%91%D0%B0%D0%B7%D1%8B&user=xayam
В чем может быть проблема?

примерно такой код

     if (isset($_GET["pnumber"]) and $_GET["pnumber"] != "") $pnumber = $_GET["pnumber"]; else $pnumber = 30;
     if (isset($_GET["s"])) $s = $_GET["s"]; else $s = "";
     if (isset($_GET["user"])) $user = $_GET["user"]; else $user = "";
     if (isset($_GET["forum"])) $forum = $_GET["forum"]; else $forum = "";
     if (isset($_GET["page"])) $page = $_GET["page"]; else $page = 1;
     if (isset($_GET["order"])) $order = $_GET["order"]; else $order = "";

  $start = ($page - 1) * $pnumber + 1;
     if ($user == "") $myuser = 1; else $myuser = "LGN ="".$user.""";
  if ($forum == "") $myforum = 1; else $myforum = "DSC = "".$forum.""";
  if ($s == "") $against = 1; else $against = "match(TITLE) against("$s" IN BOOLEAN MODE)";

     $where = "where ($myuser) and ($myforum) and ($against)";
           $query = "select * from trd $where LIMIT $start, $pnumber";
  $query2= "select COUNT(ID_TRD) from trd $where";
  $tot   = mysql_query($query2);
 
          echo $query;  
          echo "<br />";
          echo $query2;
   
    if (!$tot) exit(mysql_error());
  $total = mysql_result($tot, 0);
  $number = (int)($total/$pnumber);
    if ((float)($total/$pnumber) - $number != 0) $number++;
    if ($total > 1)
    {  
           echo "<div>Найдено:  ".($total - 1);
  if ($forum != "") echo " на форуме ".""$forum"";
  echo "</div><div>Страницы:  ";
  //
  for ($i = 1; $i <= $number; $i++)
  {
             if ( fmod($i, 10) == 0.0 ) echo "<br />";
    if ($i != $number)
    {
      if ($page == $i) echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."] ";
   else echo "<a href="index.php?page=".$i."&s=".urlencode($s)."&pnumber=".$pnumber."&forum=".url encode($forum)."&user=".urlencode($user)."">[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a> ";
    } else
    {
      if ($page == $i) echo "[".(($i - 1)*$pnumber + 1)."-".($total - 1)."] ";
   else echo "<a href="index.php?page=".$i."&s=".urlencode($s)."&pnumber=".$pnumber."&forum=".url encode($forum)."&user=".urlencode($user)."">[".(($i - 1)*$pnumber + 1)."-".($total - 1)."]</a> ";
    }
  }
?>
</div>
<hr />

<?php

 // echo $count."<br/>";

     $result = mysql_query($query);
  //echo $query;
    $i = $start;
    echo "<table width="100%" border="0"><tr><th align="center" width="5%">Номер</th><th align="center" width="*">Вопрос</th><th align="center" width="5%">Ответов</th><th align="center" width="15%">Ник</th><th align="center" width="5%">Форум</th><th align="center" width="20%">Дата</th></tr>";
    if (!$result) exit(mysql_error());
    if (mysql_num_rows($result) > 0)
    while ($row = mysql_fetch_assoc($result))
    {
    echo "<tr><td width="5%" align="center">".$i.".</td>".
                      "<td width="*"><a target="_blank" href="html/html".$row["FOLDER"]."/".substr($row["FILENAME"], 0, strlen($row["FILENAME"]) - 3)."html">".$row["TITLE"]."</a></td>".
                      "<td width="5%" align="center"><font size="-2">".$row["CNT"]."</font></td>".
                      "<td width="15%" align="center">".$row["LGN"]."</td>".
                      "<td width="5%" align="center">".$row["DSC"]."</td>".
                      "<td width="20%" align="center"><font class="date">".$row["DT"]."</font></td>".
                   "</tr>";  
      $i++;
    }
    echo "</table>";
   
?>

<hr />
<div>Страницы:  
<?php
 
  for ($i = 1; $i <= $number; $i++)
  {
             if ( fmod($i, 10) == 0.0 ) echo "<br />";
    if ($i != $number)
    {
      if ($page == $i) echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."] ";
   else echo "<a href="index.php?page=".$i."&s=".urlencode($s)."&pnumber=".$pnumber."&forum=".url encode($forum)."&user=".urlencode($user)."">[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a> ";
    } else
    {
      if ($page == $i) echo "[".(($i - 1)*$pnumber + 1)."-".($total - 1)."] ";
   else echo "<a href="index.php?page=".$i."&s=".urlencode($s)."&pnumber=".$pnumber."&forum=".url encode($forum)."&user=".urlencode($user)."">[".(($i - 1)*$pnumber + 1)."-".($total - 1)."]</a> ";
    }
  }
  echo "</div>";
  } else
 if (isset($_GET["s"])) echo "<div align="center"><font color="red">Ничего не найдено!</font></div>";
?>



Страницы: 1 2 3 4 5 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
13-1122989175
cherrex
2005-08-02 17:26
2009.02.15
Не могу запустить приложение в DELPHI 2005


3-1214894716
i
2008-07-01 10:45
2009.02.15
асинхронное выполнение ADOStoredProc


2-1230487383
inviz
2008-12-28 21:03
2009.02.15
как преобразовать array и caption ?


15-1229441014
ИванН
2008-12-16 18:23
2009.02.15
Генератор случайных чисел


15-1229612286
axis_of_evil
2008-12-18 17:58
2009.02.15
Silicon Graphics Octane