[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема при написании скрипта по поиску
Sailor
Возникла проблемы при написании скрипта

// получаем запрашиваемое слово
// причем без разницы как вы его передали, GET или POST

$search = $_REQUEST['search'];

// начинаем обработку поискового запроса
$search = trim($search);
$search = stripslashes($search);
$search = htmlspecialchars($search);


// подготавливаемся к постраничной навигации
$num = 10; // количество материала на странице
// Извлекаем из URL текущую страницу

@$page = $_GET['page'];
// Определяем общее число совпадений в базе
$result_nav = mysql_query("SELECT COUNT(*) FROM data WHERE text like '%$search%'");
$sum = mysql_fetch_array($result_nav);
$posts = $sum[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю

if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения

$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start


//формируем запрос к базе данных

$query = "SELECT id,cat,title,prev FROM data WHERE text like '%$search%' ORDER BY id desc LIMIT $start, $num";
$result = mysql_query($query);

if ($result == null){
echo "Ваш запрос не дал результатов, воспользуйтесь расширенным поиском <br/>";
echo "<form>...."; // здесь вставляем форму поиска от яндекса
}

$myarray = array(); // создаем пустой массив, страховка
$n = mysql_num_rows($result); // Узнаем количество элементов в выборке

for($i = 0; $i < $n; $i++){
$myarray[] = mysql_fetch_array($result);
}

foreach($myarray as $value){
echo $value['title'].'<br/>';
echo $value['text'].'<hr/>';
}

if ($page != 1) $pervpage = '<a href=view-cat.php?id='.$id.'&page=1>Первая</a> | <a href=view-cat.php?id='.$id.'&page='. ($page - 1) .'>Предыдущаяя</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=view-cat.php?id='.$id.'&page='. ($page + 1) .'>Следующая</a> | <a href=view-cat.php?id='.$id.'&page=' .$total. '>Последняя ('.($total).')</a>';

// Находим две ближайшие станицы с обоих краев, если они есть

$kol_page = array(1,2,3,4,5);
foreach($kol_page as $value)
{
if($page - $value > 0)
{
$mypage = "page".$value."left";
$$mypage = ' <a href=view-cat.php?id='.$id.'&page='. ($page - $value) .'>'. ($page - $value) .'</a> | ';
}
}

foreach($kol_page as $value)
{
if($page + $value <= $total)
{
$mypage = "page".$value."right";
$$mypage = ' | <a href=view-cat.php?id='.$id.'&page='. ($page + $value) .'>'. ($page + $value) .'</a>';
}
}



// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class='p-nav'>";

echo $pervpage;
foreach($kol_page as $value)
{
$mypage_left = "page".$value."left";
echo $$mypage_left;
}
echo '<b>'.$page.'</b>';
foreach($kol_page as $value)
{
$mypage_right = "page".$value."right";
echo $$mypage_right;
}
echo $nextpage;

echo "</div>";


ВЫлазит ошибка Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Хотя впринцие все нормально
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.