【问题标题】:Simple mysqli search engine?简单的mysqli搜索引擎?
【发布时间】:2014-08-03 21:37:30
【问题描述】:

我正在尝试让搜索引擎结果页面显示一条消息,如果没有输入任何关键字,则显示“未输入关键字,请重试”。但是我一直忽略下面脚本的问题,如果您没有输入任何键,该脚本不允许您按 Enter,但我只有它在那里,因为我不知道如何进行搜索引擎结果页面显示一条消息“没有搜索到关键字,请重试”有人吗?

搜索栏:

<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);
?>

【问题讨论】:

  • 搜索引擎/搜索功能 ?我坚信 SE 看起来不像这样。

标签: php html mysqli


【解决方案1】:
<?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);
?>

我认为,根据您的问题,这就是您想要的。

希望对你有帮助!

【讨论】:

    【解决方案2】:

    你可以检查term是否为空,如果是则退出消息

    <?php
    if(empty($_GET['term']){
        exit("no key words entered please try again");
    }
    $db = mysqli_connect('localhost','root', '', 'searchengine');
    //rest of your code
    

    【讨论】:

      【解决方案3】:
          <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>
      

      你的帖子.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);
              ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-10
        • 1970-01-01
        相关资源
        最近更新 更多