Не работает поиск по сайту

Discussion in 'PHP' started by selevit, 29 Aug 2009.

  1. selevit

    selevit Banned

    Joined:
    19 Aug 2009
    Messages:
    95
    Likes Received:
    9
    Reputations:
    -3
    Всем доброго времени суток! я написал небольшой скрипт поиска для своего сайта на php - Вот сама страница со скриптом:

    HTML:
    <? include ("blocks/bd.php");
    if (isset($_POST['submit_s']))
    {
    $submit_s = $_POST['submit_s'];
    }
    
    if (isset($_POST['search']))
    {
    $search = $_POST['search'];
    }
    
    if (isset($submit_s))
    {
    
    if (empty($search) or strlen($search) < 4)
    {
    exit ("<p>Поисковый запрос не введен, либо он менее 4-х символов.</p>");
    }
    
    $search = trim($search);
    $search = stripslashes($search);
    $search = htmlspecialchars($search);
    
    }
    
    else 
    {
    exit("<p>Вы обратились к файлу без необходимых параметров.</p>");
    }
    
    
    
    
    ?>
    
    
    
    
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body>
    <table width="900" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
    
    <?php include ("blocks/header.php");?>
    
      <tr>
        <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="top" id="s">
          <tr>
            <?php include ("blocks/left_td.php");?>
            <td width="77%" align="left" valign="top">
            
            
            <p class="nav_title">Поиск</p>
            
          
    		<?php 
    		
    		$result = mysql_query("SELECT id,title,description,date,author,view,download FROM data WHERE MATCH(text) AGAINST('$search')",$db);
    		
    		if (!$result)
            {
            echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@ruseller.com. <br> <strong>Код ошибки:</strong></p>";
             exit(mysql_error());
             }
    
           if (mysql_num_rows($result) > 0)
    
             {
            $myrow = mysql_fetch_array($result); 
    
    		do
    		
    		
    		{
    		
    		
    		printf ("    <table align='center' class='post'>
                 <tr>
                 <td>
    			 <p class = 'nav_link'><a href='view_post.php?id=%s'>%s</a>
    			 <p class = 'post_adds'>Дата Добавления: %s</p>
    			 <p class = 'post_adds'>Добавил: %s</p>
    			 </td>
                 </tr>
    			 <tr>
    			 <p><td>%s
    			 <p class = 'post_view'>Просмотров: %s</p>
    			 <p class = 'post_view'>Загрузок: %s</p>
    			 </tr>
                 </table>", $myrow['id'], $myrow['title'], $myrow['date'], $myrow['author'], $myrow['description'], $myrow['view'], $myrow['download']);
    		
    		
    		
    		}
    		while ($myrow = mysql_fetch_array($result));
    
    
    
    }
    
    else
    {
    echo "<p>Информация по Вашему запросу на блоге не найдена.</p>";
    exit();
    }
    
    ?>
       
            
            </td>
          </tr>
        </table></td>
      </tr>
    <?php include ("blocks/footer.php");?>
    </table>
    



    при правильном поисковом запросе он ничего не находит.
     
    #1 selevit, 29 Aug 2009
    Last edited: 29 Aug 2009
  2. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    попробуй заменить :
    $result = mysql_query("SELECT id,title,description,date,author,view,download FROM data WHERE MATCH(text) AGAINST('$search')",$db);

    на:

    $result = mysql_query("SELECT id,title,description,date,author,view,download FROM data WHERE MATCH(text) AGAINST('".$search."')",$db);
     
    2 people like this.
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Это ничего не изменит, переменные в двойных кавычках обрабатываются как переменные :)
     
  4. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    а нельзя просто
    ?
     
    1 person likes this.