Mam prosty skrypt wyszukiwania danych z bazy. Problemy zaczynając się gdy chce wyszukać dwa wyrazy np Nokia 3220
<?php
//fetch.php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";
$connect = mysqli_connect($servername, $username, $password, $dbname);
$output = '';
if(isset($_POST["query"])) {
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM telefony
WHERE (model LIKE '%$search%' OR marka LIKE '%$search%')AND( model LIKE '$search%' OR marka LIKE '%$search%') LIMIT 10
";
}
else
{
$query = "
SELECT * FROM telefony ORDER BY ID LIMIT 0
";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
$output .= '
<div class="table-responsive">
<table class="table table bordered">
<tr>
<th>Model</th>
<th>Marka</th>
<th>Cena</th>
</tr>
';
while($row = mysqli_fetch_array($result))
{
$output .= '
<tr>
<td>'.$row["marka"].'</td>
<td>'.$row["model"].'</td>
<td>'.$row["cena"].'</td>
</tr>
';
}
}
else
{
echo 'Przepraszamy nie znaleziono rekordów'; }
?>
Oraz plik html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <h2 align="center">Ajax Live Data Search using Jquery PHP MySql
</h2><br /> <div class="input-group"> <span class="input-group-addon">Search
</span> <input type="text" name="search_text" id="search_text" placeholder="Search by Customer Details" class="form-control" />
$(document).ready(function(){
load_data();
function load_data(query)
{
$.ajax({
url:"fetch.php",
method:"POST",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
});
W jaki sposób zmodyfikować zapytanie do bazy aby wyszukiwało też po dwóch słowach?
Czy trzeba $query rozdzielić po spacji?