Поиск в mysql

Discussion in 'PHP' started by skzi, 19 May 2007.

  1. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    Привет народ! Давно читаю ваш форум в rss формате.
    Возникла у меня проблемка. Решил написать свой небольшой двиг. Подскажите пожалуйста, как сделать поиск в MySQl?
    Сколько не читал в интернете ничего нормального нету. ПОжалуйтса, напишите или дайте код вместе с формой и т.д. пожалуйста...
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Вот скриптик держи
    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) == ) echo("По вашему запросу ничего не найдено");
                for(
    $i 0$i mysql_num_rows($result);$i++) {
                    
    $row    mysql_fetch_array($result);
                    echo 
    "<br/><b>".$row['name']."</b>";
            } else {
             echo 
    "Ваш запрос слишком короткий";
             }
        }
    ?>
     
  3. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    Спасибо большое!
    А есть ли готовые скрипты которые выводят полный текст, ну например как в яндексе:
    "4-5 слов до искомого слова"...искомое слово..."4-5 слов после искомого слова"
    Если нет то помогите реализовать пожалуйста. И как сделать поиск по 2 таблицам?
     
  4. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    примерно так
    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. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    Code:
    select o.*, t.* FROM one o, two t WHERE (o.field LIKE 'hz') AND (t.filed LIKE 'hz')
    
     
  6. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    Помогите пожалуйста соеденить поиск по бд(1 скрипт) и вывод "4-5 слов до искомого слова"...искомое слово..."4-5 слов после искомого слова" (второй скрипт)
    что-то не получается вообще...
     
  7. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    а чего не получается? возьми из БД текст, впихни его в переменную
    PHP:
    $result mysql_query("SELECT textdata FROM table where id=1"$link);
    $data mysql_fetch_assoc($result);
    и дальше уже делай там ..
     
  8. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    Будте добры, напишите пожалуйста сами... Не получается у меня...
     
  9. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    позолоти ручку ... тогда тебе сделаю, что скажешь..
     
    1 person likes this.
  10. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    Для тебя же нет ничего сложного в этом! ПОМОГИИИИ!
     
  11. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    Ну народ! для вас же ничего сложного нет в этом, а мне нужно..
     
  12. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    раз ты решил написать, так и напиши..
    я не пойму вообще, что тебе нужно?.. тут нету телепатов угадывать чтобы..
     
    1 person likes this.
  13. skzi

    skzi Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    65
    Likes Received:
    11
    Reputations:
    5
    За скрипты спасибо...
     
Loading...