doulongdan2264 2014-05-28 12:29
浏览 22
已采纳

从不同的数据库表获取搜索结果并显示它们?

I'm trying to create a search function that will retrieve search results for different posters we're creating on our site. If a person is searching for lets say "dog" then it will show the posters which is related to dogs. The site is going to publish different events in the form of posters.

The code looks as following at the moment:

<?php

class Search
{
    public static $con;

    private $search = '';

    function __construct()
    { 
        self::$con = mysqli_connect('localhost', 'guest', 'guestpw', 'db_users');

        $this->search = mysqli_real_escape_string(self::$con, $_POST['search']);
    }

    if(isset($_POST['submit_search']))
    {

    $sql = mysqli_query($con, "SELECT * FROM Event WHERE eventNamn LIKE '%" . $search);

    $sql = mysqli_query($con, "SELECT * FROM Användare WHERE userName LIKE '%" . $search);

    $sql = mysqli_query($con, "SELECT * FROM Poster WHERE Kategori LIKE '%" . $search);

    $sql = mysqli_query($con, "SELECT * FROM EventTyp WHERE EventTyp LIKE '%" . $search);

    $result = mysqli_query($sql);

    }
}

What I want to happen now is to use the search word the user is searching for and then display the events that are associated with that word. All help is much appreciated! Thank you.

  • 写回答

3条回答 默认 最新

  • dongxuan1314 2014-05-28 12:37
    关注

    The code you're having now is not going to work. You're checking for a $_POST request inside a class? I made some adjustments

    <?php
    
    class Search
    {
        public static $con;
        private $search = '';
    
        public function __construct($search)
        { 
            self::$con = mysqli_connect('localhost', 'guest', 'guestpw', 'db_users');
    
            $this->search = mysqli_real_escape_string(self::$con, $search);
        }
    
        //Do this for every search
    
        public function search() {
           $sql = mysqli_query(self::$con, "SELECT [column] FROM Event WHERE eventNamn LIKE '%" .       $search . "'".
    "UNION ALL ".
    "SELECT [column] FROM Användare WHERE userName LIKE '%" . $search . "'".
    "UNION ALL".
    "SELECT [column] FROM Poster WHERE Kategori LIKE '%" . $search . "'".
    "UNION ALL".
    "SELECT [column] FROM EventTyp WHERE EventTyp LIKE'%" . $search . "'");
           return mysqli_query($sql);
        } 
    }
    
    if(isset($_POST['search'])) {
    
      $searchClass = new Search($_POST['search']);
      $result = $searchClass->searchEvent();
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab