<?php //fetch.php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "mydb"; $connect = mysqli_connect($servername, $username, $password, $dbname); $output = ''; { $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 { } ?>
Oraz plik html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <div class="container"> <br /> <div class="form-group"> <div class="input-group"> <input type="text" name="search_text" id="search_text" placeholder="Search by Customer Details" class="form-control" /> </div> </div> <br /> </div> </body> </html> <script> $(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(); } }); }); </script>
W jaki sposób zmodyfikować zapytanie do bazy aby wyszukiwało też po dwóch słowach?
Czy trzeba $query rozdzielić po spacji?