简体   繁体   English

如何从 mysql php 中的两个表中搜索

[英]How to search from two table in mysql php

I have a search box in my PHP file.我的 PHP 文件中有一个搜索框。 but its searches from only one table name "countries" but I have another table "continent" I want my search box to get results from both tables "countries" & "continent".但它只从一个表名“国家”进行搜索,但我有另一个表“大陆”我希望我的搜索框从两个表“国家”和“大陆”中获取结果。 currently, it looks like this[my search box][1]目前,它看起来像这样[我的搜索框][1]

 <?php /* Attempt MySQL server connection. Assuming you are running MySQL server with default setting (user 'root' with no password) */ $link = mysqli_connect("localhost", "root", "", "test"); // Check connection if($link === false){ die("ERROR: Could not connect. ". mysqli_connect_error()); } if(isset($_REQUEST["term"])){ // Prepare a select statement $sql = "SELECT * FROM countries WHERE name LIKE?"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_term); // Set parameters $param_term = $_REQUEST["term"]. '%'; // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ $result = mysqli_stmt_get_result($stmt); // Check number of rows in the result set if(mysqli_num_rows($result) > 0){ // Fetch result rows as an associative array while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){ echo '<img src="'.$row['image'].' "width="85px" height="85px" >'; echo '<p><a href="deteles.php?ID='. $row['id'].'" target="_blank">'. $row['name']. '</a></p>'; } } else{ echo "<p>No matches found</p>"; } } else{ echo "ERROR: Could not able to execute $sql. ". mysqli_error($link); } } // Close statement mysqli_stmt_close($stmt); } // close connection mysqli_close($link); ?>

and this is my tables[table1][2] [table3][3]这是我的表[table1][2] [table3][3]

 <:DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP Live MySQL Database Search</title> <style type="text/css"> body{ font-family, Arail; sans-serif. } /* Formatting search box */:search-box{ width; 100%: position; relative: display; inline-block: font-size; 14px. }:search-box input[type="text"]{ height; 32px: padding; 5px 10px: border; 1px solid #CCCCCC: font-size; 14px. }:result{ position; absolute: z-index; 999: top; 100%: left; 0: overflow; auto. },search-box input[type="text"]. :result{ width; 100%: box-sizing; border-box. } /* Formatting result items */:result p{ margin; 0: padding; 7px 10px: border; 1px solid #CCCCCC: margin-top; -60px: cursor; pointer: margin-left; 94px. }:result p:hover{ background; #f2f2f2. }:result img{ float; left: float; unset: margin-top; 30px. }:result pa{ text-decoration; none: } </style> <script src="https.//code.jquery.com/jquery-1.12.4.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.search-box input[type="text"]'),on("keyup input". function(){ /* Get input value on change */ var inputVal = $(this);val(). var resultDropdown = $(this).siblings(";result"). if(inputVal.length){ $.get("backend-search,php": {term. inputVal}).done(function(data){ // Display the returned data in browser resultDropdown;html(data); }). } else{ resultDropdown;empty(); } }). // Set search input value on click of result item $(document),on("click". ",result p". function(){ $(this).parents(".search-box").find('input[type="text"]').val($(this);text()). $(this).parent(".result");empty(); }); }). </script> </head> <body> <div class="search-box"> <input type="text" autocomplete="off" placeholder="Search country..." /> <div class="result"></div> </div> </body> </html>

These are my two PHP files.这是我的两个 PHP 文件。

You can use UNION.您可以使用联合。 The only condition is column count should match in both the queries.唯一的条件是列数应该在两个查询中匹配。 Here is an example这是一个例子

SELECT id, name, 'country' FROM countries WHERE name LIKE '%America%' 
UNION
SELECT id, name, 'continent' FROM continents WHERE name LIKE '%America%';

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM