Просмотр полной версии : Поиск в mysql
Привет народ! Давно читаю ваш форум в rss формате.
Возникла у меня проблемка. Решил написать свой небольшой двиг. Подскажите пожалуйста, как сделать поиск в MySQl?
Сколько не читал в интернете ничего нормального нету. ПОжалуйтса, напишите или дайте код вместе с формой и т.д. пожалуйста...
Вот скриптик держи
<?php
$name = isset($_GET['name']) ? $_GET['name'] : '';
if (!get_magic_quotes_gpc()) {
$ver = explode( '.', PHP_VERSION );
$ver_num = $ver[0] . $ver[1] . $ver[2];
if ( $ver_num < 403 ) {
$action = mysql_escape_string($action);
$number = mysql_escape_string($number);
} else {
$action = addslashes($action);
$number = addslashes($number);
}
}
echo "<form method='get'>
<input type='text' name='name' value='search...'/>
<input type='submit' value='post'/>
</form>";
if ($name) {
if(strlen($name) >= 3) {
$query = "SELECT `name` FROM `table_name` WHERE `name` LIKE '%$name%'";
$result = mysql_query($query);
if (!$result) die(mysql_error());
if (mysql_num_rows($result) == 0 ) echo("По вашему запросу ничего не найдено");
for($i = 0; $i < mysql_num_rows($result);$i++) {
$row = mysql_fetch_array($result);
echo "<br/><b>".$row['name']."</b>";
} else {
echo "Ваш запрос слишком короткий";
}
}?>
Спасибо большое!
А есть ли готовые скрипты которые выводят полный текст, ну например как в яндексе:
"4-5 слов до искомого слова"...искомое слово..."4-5 слов после искомого слова"
Если нет то помогите реализовать пожалуйста. И как сделать поиск по 2 таблицам?
GreenBear
20.05.2007, 01:53
примерно так
<?php
$text = 'this a (test) test string special for skzi string';
$needle = 'string';
$s1 = '';
$s2 = '';
$len = 3;
$array = explode(' ', $text);
$id = array_search($needle, $array);
$plus= $id+1;
$minus = $id-$len;
for($i=0;$i<$len;$i++){
$s1 .= $array[$minus].' ';
$s2 .= $array[$plus].' ';
$plus++;$minus++;
}
echo $s1.'<b>'.$needle.'</b> '.$s2;
?>
GreenBear
20.05.2007, 01:55
И как сделать поиск по 2 таблицам?
select o.*, t.* FROM one o, two t WHERE (o.field LIKE 'hz') AND (t.filed LIKE 'hz')
Помогите пожалуйста соеденить поиск по бд(1 скрипт) и вывод "4-5 слов до искомого слова"...искомое слово..."4-5 слов после искомого слова" (второй скрипт)
что-то не получается вообще...
GreenBear
20.05.2007, 02:27
а чего не получается? возьми из БД текст, впихни его в переменную
$result = mysql_query("SELECT textdata FROM table where id=1", $link);
$data = mysql_fetch_assoc($result);
и дальше уже делай там ..
Будте добры, напишите пожалуйста сами... Не получается у меня...
GreenBear
20.05.2007, 12:19
позолоти ручку ... тогда тебе сделаю, что скажешь..
Для тебя же нет ничего сложного в этом! ПОМОГИИИИ!
Ну народ! для вас же ничего сложного нет в этом, а мне нужно..
GreenBear
20.05.2007, 21:57
раз ты решил написать, так и напиши..
я не пойму вообще, что тебе нужно?.. тут нету телепатов угадывать чтобы..
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot