include ("constructor.php");
include ("mysql.php");
head(0);
left_menu(1);
content();
right_menu();
bottom();
#-functions--------------------------------------------------------------------
function content()
{
global $action;
global $type;
global $search;
global $part;
global $page;
# if (strpos($search," ")>0) {$search=substr($search,0,strpos($search," "));};
echo "
";
if (empty($action))
{$action="start";}
if ($action=="start")
{
echo "Расширенный поиск книг
К сожалению, механизм расширенного поиска временно не работает.
| ";
}
elseif ($action=="search")
{
if (empty($page))
{$page=1;}
$x=($page-1)*20;
$types = array ();
if ($part!=100)
{
$query_type = "SELECT id FROM btypes WHERE type='$part' ORDER BY id;";
$result = mysql_query($query_type) or die ("Невозможно выполнить запрос");
while ($row = mysql_fetch_row($result))
{
$types[] = $row[0];
}
$tnum = count($types);
}
if ($type!="all")
{
$query_count = "SELECT COUNT(*) FROM books WHERE (ucase($type) LIKE ucase('%$search%'))";
if ($part!=100)
{
$query_count .= " AND (";
for ($i=0; $i<=$tnum-1; $i++)
{
$query_count .= " btype='$types[$i]'";
if ($i!=$tnum-1)
{$query_count .= " OR";}
}
$query_count .= ")";
}
$query_count .=" ORDER BY bname;";
$result = mysql_query($query_count) or die ("Невозможно выполнить запрос");
$row = mysql_fetch_row($result);
$num = $row[0];
if ($x<$num)
{
$queryb = "SELECT * FROM books WHERE (ucase($type) LIKE ucase('%$search%'))";
if ($part!=100)
{
$queryb .= " AND(";
for ($i=0; $i<=$tnum-1; $i++)
{
$queryb .= " btype='$types[$i]'";
if ($i!=$tnum-1)
{$queryb .= " OR";}
}
$queryb .= ")";
}
$queryb .=" ORDER BY bname LIMIT $x, 20;";
}
else
{$queryb = "error";}
}
else
{
$query_count = "SELECT COUNT(*) FROM books WHERE ((ucase(bname) LIKE ucase('%$search%')) OR (ucase(bauthor) LIKE ucase('%$search%')))";
if ($part!=100)
{
$query_count .= " AND(";
for ($i=0; $i<=$tnum-1; $i++)
{
$query_count .= " btype='$types[$i]'";
if ($i!=$tnum-1)
{$query_count .= " OR";}
}
$query_count .= ")";
}
$query_count .=" ORDER BY bname;";
$result = mysql_query($query_count) or die ("Невозможно выполнить запрос");
$row = mysql_fetch_row($result);
$num = $row[0];
if ($x<$num)
{
$queryb = "SELECT * FROM books WHERE ((ucase(bname) LIKE ucase('%$search%')) OR (ucase(bauthor) LIKE ucase('%$search%')))";
if ($part!=100)
{
$queryb .= " AND(";
for ($i=0; $i<=$tnum-1; $i++)
{
$queryb .= " btype='$types[$i]'";
if ($i!=$tnum-1)
{$queryb .= " OR";}
}
$queryb .= ")";
}
$queryb .=" ORDER BY bname LIMIT $x, 20;";
}
else
{$queryb = "error";}
}
$count = $num;
echo "
Результат поиска (найдено $num)
";
$sel = array ('bauthor', 'bname', 'all');
$switch = array ('','','');
for ($i=0; $i<3; $i++)
{
if ($type==$sel[$i])
{$switch[$i]="selected";}
else
{$switch[$i]="";}
}
echo " ";
if (empty ($count))
{$count = 0;}
echo "Результат поиска '$search' : найдено $count записей ";
if ($count>0)
{
$result = mysql_query($queryb) or die ("Невозможно выполнить запрос");
echo "";
if (empty($page))
{$n=2;$m=0;}
else
{$n=$page+1;$m=$page-1;}
echo "";
if (empty($page) || $page==1)
{echo " | ";}
else
{$search = rawurlencode($search);
echo "Предыдущие 20 << | ";
$search = rawurldecode($search);}
$test=$count/20;
if ($page==1)
{
$x=1;
$y=20;
if ($y>$count) {$y=$count;};
}
elseif ($test-$page<1)
{
$x=($page-1)*20+1;
$y=$count;
}
else
{
$x=($page-1)*20+1;
$y=($page)*20;
}
echo "показано с $x по $y | ";
if ($page<=$test)
{$search = rawurlencode($search);
echo ">> Следующие 20";
$search = rawurldecode($search);}
echo " | ";
echo "
| ";
while ($row = mysql_fetch_row($result))
{
$price = $row[2];
# echo "$row[1] - $row[5] // Издательство: $row[4], $row[7]; ISBN: $row[6];
# Цена: $price руб. |
#
| ";
echo "$row[1] - $row[5] // Издательство: $row[4], $row[7]; $row[8] стр.; ISBN: $row[6];
Цена: $price руб. |
| ";
}
echo "";
if (!(empty($page) || $page==1))
{$search = rawurlencode($search);
echo "Предыдущие 20 <<";
$search = rawurldecode($search);}
echo " показано с $x по $y (из $num) ";
if ($page<=$test)
{$search = rawurlencode($search);
echo " >> Следующие 20 ";
$search = rawurldecode($search);}
# $n=0;
# for ($i=1; $i<$num; $i=$i+20)
# {
# $n++;
# $dec = $i+19;
# if ($dec>$num)
# {$dec=$num;}
# echo "[$i-$dec] ";
# }
echo " | ";
}
elseif ($count==0)
{
echo "
По вашему запросу ничего не найдено ";
}
echo "";
}
echo " |
| ";
}
function right_menu()
{
echo " | ";
}
?>