[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: скрипт поиска по сайту
Bodich
нашел классный скрипт поиска немножко переделал,что то не так, помогите разобратся ...(
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\moto\search\do_search.php on line
)
<?php
//получаем данные через $_POST
if (isset($_POST['search'])) {
// подключаемся к базе
include('db.php');

// никогда не доверяйте входящим данным! Фильтруйте всё!
$word = mysql_real_escape_string($_POST['search']);
// Строим запрос
$sql = "SELECT title FROM data WHERE content LIKE '%" . $word . "%' ORDER BY id LIMIT 10";
// Получаем результаты
$result = mysql_query($sql);
//$row = $db->select_list($sql);
while ($myrow=mysql_fetch_array($result)){
$row[]=$myrow;
}
if(count($row)) {
$end_result = '';
foreach($row as $r) {
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= '<li>' . str_ireplace($word, $bold, $result) . '</li>';
}
echo $end_result;
} else {
echo '<li>По вашему запросу ничего не найдено</li>';
}
}

?>




Спустя 3 минуты, 42 секунды (8.04.2011 - 22:26) neadekvat написал(а):
$result = mysql_query($sql) or die(mysql_error());

Что выводит?

Спустя 12 минут, 23 секунды (8.04.2011 - 22:38) Bodich написал(а):
ага исправил уже ошибки не выдает.
но не ищет
может запрос неверный

SELECT * FROM data WHERE name LIKE '%" . $word . "%' ORDER BY id LIMIT 10

имя таблици -data
имя поля где нужно искать совпадения - name

Спустя 10 минут, 26 секунд (8.04.2011 - 22:49) neadekvat написал(а):
Не то показываете.
Смотреть надо на строку, которая получается после подстановки переменных в нее.

Спустя 24 минуты, 16 секунд (8.04.2011 - 23:13) Bodich написал(а):

$word = $_POST['search'];
echo $word;


присылает абрукадабру - яйца
в чем может быть причина ??

Спустя 2 часа, 43 минуты, 14 секунд (9.04.2011 - 01:56) inpost написал(а):
Bodich
В разных кодировках.

Спустя 9 часов, 5 минут, 7 секунд (9.04.2011 - 11:01) Bodich написал(а):
я тож так подумал написал в файлах -
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

не помогает sad.gif

Спустя 6 часов, 41 минута, 35 секунд (9.04.2011 - 17:43) Bodich написал(а):
посмотрите плиз на работу скрипта сразу все ок потом не понятно что происходит...
http://cook-today.hut2.ru/test.php

Спустя 31 секунда (9.04.2011 - 17:43) Bodich написал(а):
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>
Поиск по сайту</title>
<link
rel="stylesheet" type="text/css" href="search/search.css">

<script
type="text/javascript" src="jquery.js"></script>
<script
type="text/javascript">
$(document).ready( function() {
$(function() {

$(".search_button").click(function() {
// ,
var searchString = $("#search_box").val();
//
var data = 'search='+ searchString;

// searchString
if(searchString) {
// ajax
$.ajax({
type: "POST",
url: "search/do_search.php",
data: data,
beforeSend: function(html) { //
$("#results").html('');
$("#searchresults").show();
$(".word").html(searchString);
},
success: function(html){ //
$("#results").show();
$("#results").append(html);
}
}
);
}
return false;
});
});
});
</script>

</head>
<body>
<div
id="container">
<div
style="margin:1px auto; text-align:;">
<form
method="post" >
<input
type="text" name="search" id="search_box" class='search_box'/>
<input
type= "button" value="search" class="search_button" />
</form>
</div>
<div>

<div
id="searchresults"> <span class="word"></span></div>
<ul
id="results" class="">
</ul>

</div>
</div>

</body>
</html>


Спустя 1 минута, 33 секунды (9.04.2011 - 17:45) Bodich написал(а):

<?php // подключаемся к базе


include('../blocks/BD.php');
//получаем данные через $_POST
if (isset($_POST['search'])) {

// mysql_real_escape_string()
// никогда не доверяйте входящим данным! Фильтруйте всё!
$word = $_POST['search'];
echo $word;
// Строим запрос
$word = "яйца";
$sql = "SELECT name,id FROM data WHERE name LIKE '%" . $word . "%' ORDER BY id LIMIT 10";
// Получаем результаты
$result = mysql_query($sql) or die(mysql_error());

//$row = $db->select_list($sql);
while ($myrow=mysql_fetch_array($result)){
$row[]=$myrow;
}
if(count($row)) {
$end_result = '';
foreach($row as $r) {
$id = $r['id'];
$result = $r['name'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= '<li>' . str_replace($word, $bold, $result) . '</li>';

}
echo $end_result;
} else {
echo '<li>По вашему запросу ничего не найдено</li>';
}
}
/*"<li><a href ='index.php?types=main_rec&id=$id' ". str_replace($word, $bold, $result) ."</a></li>";*/
?>
Быстрый ответ:

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