ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Поиск в mysql
  #1  
Старый 19.05.2007, 23:18
skzi
Познающий
Регистрация: 31.12.2006
Сообщений: 46
С нами: 10190491

Репутация: 7
По умолчанию Поиск в mysql

Привет народ! Давно читаю ваш форум в rss формате.
Возникла у меня проблемка. Решил написать свой небольшой двиг. Подскажите пожалуйста, как сделать поиск в MySQl?
Сколько не читал в интернете ничего нормального нету. ПОжалуйтса, напишите или дайте код вместе с формой и т.д. пожалуйста...
 
Ответить с цитированием

  #2  
Старый 19.05.2007, 23:22
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

Вот скриптик держи
PHP код:
<?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 
"Ваш запрос слишком короткий";
         }
    }
?>
 
Ответить с цитированием

  #3  
Старый 20.05.2007, 00:27
skzi
Познающий
Регистрация: 31.12.2006
Сообщений: 46
С нами: 10190491

Репутация: 7
По умолчанию

Спасибо большое!
А есть ли готовые скрипты которые выводят полный текст, ну например как в яндексе:
"4-5 слов до искомого слова"...искомое слово..."4-5 слов после искомого слова"
Если нет то помогите реализовать пожалуйста. И как сделать поиск по 2 таблицам?
 
Ответить с цитированием

  #4  
Старый 20.05.2007, 01:53
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

примерно так
PHP код:
<?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;
?>
 
Ответить с цитированием

  #5  
Старый 20.05.2007, 01:55
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

Цитата:
И как сделать поиск по 2 таблицам?
Код:
select o.*, t.* FROM one o, two t WHERE (o.field LIKE 'hz') AND (t.filed LIKE 'hz')
 
Ответить с цитированием

  #6  
Старый 20.05.2007, 02:23
skzi
Познающий
Регистрация: 31.12.2006
Сообщений: 46
С нами: 10190491

Репутация: 7
По умолчанию

Помогите пожалуйста соеденить поиск по бд(1 скрипт) и вывод "4-5 слов до искомого слова"...искомое слово..."4-5 слов после искомого слова" (второй скрипт)
что-то не получается вообще...
 
Ответить с цитированием

  #7  
Старый 20.05.2007, 02:27
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

а чего не получается? возьми из БД текст, впихни его в переменную
PHP код:
$result = mysql_query("SELECT textdata FROM table where id=1", $link);
$data = mysql_fetch_assoc($result); 
и дальше уже делай там ..
 
Ответить с цитированием

  #8  
Старый 20.05.2007, 02:39
skzi
Познающий
Регистрация: 31.12.2006
Сообщений: 46
С нами: 10190491

Репутация: 7
По умолчанию

Будте добры, напишите пожалуйста сами... Не получается у меня...
 
Ответить с цитированием

  #9  
Старый 20.05.2007, 12:19
GreenBear
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
С нами: 11058146

Репутация: 4536


По умолчанию

позолоти ручку ... тогда тебе сделаю, что скажешь..
 
Ответить с цитированием

  #10  
Старый 20.05.2007, 14:16
skzi
Познающий
Регистрация: 31.12.2006
Сообщений: 46
С нами: 10190491

Репутация: 7
По умолчанию

Для тебя же нет ничего сложного в этом! ПОМОГИИИИ!
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.