2014-06-13 2 views
0

검색 엔진 결과 페이지에 키가 입력되지 않은 경우 "다시 입력하십시오. 다시 입력하십시오."라는 메시지가 표시됩니다. 하지만 아래의 스크립트를 사용하여 문제를 무시했지만 스크립트는 키가 입력되어 있지 않으면 Enter를 누르는 것을 허용하지 않지만 검색을 수행하는 방법에 대한 단서가 없기 때문에 스크립트를 가지고 있습니다. 엔진 결과 페이지에 "아무 키워드도 검색하지 마십시오. 다시 시도하십시오"라는 메시지가 나타납니다.간단한 mysqli 검색 엔진?

검색 창 :

<form action="/search.php" method="GET"> 
<input class="term" type="text" id="term" name="term" required /> 
<input type="submit" class='submit' id="submit" value="search" disabled /> 
</form> 
<script type="text/javascript"> 
document.getElementById('term').oninput = function() { 
    document.getElementById('submit').disabled = !this.value.trim(); 
} 
</script> 

표시 검색 결과 :

<?php 
    $db = mysqli_connect('localhost','root', '', 'searchengine'); 

    if(!$db) { 
     die('sorry we are having some problbems'); 
    } 

    $sql = mysqli_query(
     $db, 
     sprintf(
      "SELECT * FROM searchengine WHERE name LIKE '%s' LIMIT 0,20", 
      '%'. mysqli_real_escape_string($db,$_GET['term']) .'%' 
     ) 
    ); 

    while($ser = mysqli_fetch_array($sql)) { 
     echo "<a href='$ser[pageurl]'>$ser[img]</a>"; 
    } 


    mysqli_close($db); 
?> 
+0

검색 엔진/검색 기능 그렇다면 종료 할 수 있습니까? 나는 SE가 이렇게 보이지 않는다고 강력하게 믿는다. – Raptor

답변

0
<?php 
$db = mysqli_connect('localhost','root', '', 'searchengine'); 

if(!$db) { 
    die('sorry we are having some problbems'); 
} 

// SET GETTER AS A VARIABLE 
$searchTerm = mysqli_real_escape_string($db,$_GET['term']); 

if (empty($searchTerm)) 
{ 
echo("no key words searched please try again"); 
} 
else 
{ 
$sql = mysqli_query(
    $db, 
    sprintf(
     "SELECT * FROM searchengine WHERE name LIKE '%s' LIMIT 0,20", 
     '%'. $searchTerm .'%' 
    ) 
); 

while($ser = mysqli_fetch_array($sql)) { 
    echo "<a href='$ser[pageurl]'>$ser[img]</a>"; 
} 
} 

mysqli_close($db); 
?> 

내 생각, 귀하의 질문에 따라이 당신이 원하는 것입니다.

도움이 되었기를 바랍니다.

0

당신은 용어가 비어 있는지 확인하고 메시지

<?php 
if(empty($_GET['term']){ 
    exit("no key words entered please try again"); 
} 
$db = mysqli_connect('localhost','root', '', 'searchengine'); 
//rest of your code 
0
<div id="result" style="display:none"> 
     <!-- Here is for result --> 
    </div> 

    <script type="text/javascript"> 
     $.sendComment = function(){ 
      var deger = $("form#search").serialize(); 
      $.ajax({ 
       url: "yourpost.php", 
       type: "POST", 
       data: result, 
       dataType: "json", 
       success: function(answer){ 
        if(answer.error){ 
         $("#result").html(answer.error).show(); 
        }else{ 
         $("#result").html(answer.ok).show(); 

        } 
       } 
      }); 
     } 
</script> 

yourpost.php

 <?php 
     require "connect.php"; 
     if(@$_SERVER["HTTP_REFERER"]==""){ 
      $array["error"]='No post'; 
     }else{ 
      if($_POST){ 
       @$name = strip_tags(mysql_real_escape_string($_POST['name'])); 
      if(isempty($name)){ 
       $array["error"] = "no post"; 
      }else{ 
       //SQL query.. 
       $array["ok"] = "Search is success"; 
      } 
     } 
     echo json_encode($array); 
     ?>