Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][HTML][MySQL]Wyszukiwanie po dwóch słowach w dwóch kolumnach, W jaki sposób wyszukiwać po dwóch słowach oddzielonych spacją
nikos
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 0
Dołączył: 30.03.2009

Ostrzeżenie: (0%)
-----


Mam prosty skrypt wyszukiwania danych z bazy. Problemy zaczynając się gdy chce wyszukać dwa wyrazy np Nokia 3220
  1. <?php
  2. //fetch.php
  3. $servername = "localhost";
  4. $username = "root";
  5. $password = "";
  6. $dbname = "mydb";
  7. $connect = mysqli_connect($servername, $username, $password, $dbname);
  8. $output = '';
  9. if(isset($_POST["query"]))
  10. {
  11. $search = mysqli_real_escape_string($connect, $_POST["query"]);
  12.  
  13.  
  14. $query = "
  15. SELECT * FROM telefony
  16. WHERE (model LIKE '%$search%' OR marka LIKE '%$search%')AND( model LIKE '$search%' OR marka LIKE '%$search%') LIMIT 10
  17. ";
  18.  
  19. }
  20. else
  21. {
  22. $query = "
  23. SELECT * FROM telefony ORDER BY ID LIMIT 0
  24. ";
  25. }
  26. $result = mysqli_query($connect, $query);
  27. if(mysqli_num_rows($result) > 0)
  28. {
  29. $output .= '
  30. <div class="table-responsive">
  31. <table class="table table bordered">
  32. <tr>
  33. <th>Model</th>
  34. <th>Marka</th>
  35. <th>Cena</th>
  36.  
  37. </tr>
  38. ';
  39. while($row = mysqli_fetch_array($result))
  40. {
  41. $output .= '
  42. <tr>
  43. <td>'.$row["marka"].'</td>
  44. <td>'.$row["model"].'</td>
  45. <td>'.$row["cena"].'</td>
  46. </tr>
  47. ';
  48. }
  49. echo $output;
  50. }
  51. else
  52. {
  53. echo 'Przepraszamy nie znaleziono rekordów';
  54. }
  55.  
  56. ?>


Oraz plik html
  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3. <title>Telefony</title>
  4. <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  5. </head>
  6. <body>
  7. <div class="container">
  8. <br />
  9. <h2 align="center">Ajax Live Data Search using Jquery PHP MySql</h2><br />
  10. <div class="form-group">
  11. <div class="input-group">
  12. <span class="input-group-addon">Search</span>
  13. <input type="text" name="search_text" id="search_text" placeholder="Search by Customer Details" class="form-control" />
  14. </div>
  15. </div>
  16. <br />
  17. <div id="result"></div>
  18. </div>
  19. </body>
  20. </html>
  21.  
  22.  
  23. $(document).ready(function(){
  24.  
  25. load_data();
  26.  
  27. function load_data(query)
  28. {
  29. $.ajax({
  30. url:"fetch.php",
  31. method:"POST",
  32. data:{query:query},
  33. success:function(data)
  34. {
  35. $('#result').html(data);
  36. }
  37. });
  38. }
  39. $('#search_text').keyup(function(){
  40. var search = $(this).val();
  41. if(search != '')
  42. {
  43. load_data(search);
  44. }
  45. else
  46. {
  47. load_data();
  48. }
  49. });
  50. });


W jaki sposób zmodyfikować zapytanie do bazy aby wyszukiwało też po dwóch słowach?
Czy trzeba $query rozdzielić po spacji?
Go to the top of the page
+Quote Post

Posty w temacie
- nikos   [AJAX][HTML][MySQL]Wyszukiwanie po dwóch słowach w dwóch kolumnach   11.07.2017, 10:43:28
- - trueblue   [SQL] pobierz, plaintext SELECT * FROM telefony WH...   11.07.2017, 11:07:51
- - nikos   Tak twój przykład działa jeśli oddzielnie przekaże...   11.07.2017, 11:14:22
- - trueblue   Dlatego też powinieneś rozdzielić szukaną frazę. M...   11.07.2017, 11:16:56
- - nikos   [PHP] pobierz, plaintext <?php//fetch.php$serve...   11.07.2017, 11:30:49
- - trueblue   A czasem nie wywala tego błędu przy jednym wyrazie...   11.07.2017, 11:35:04
- - nikos   Właśnie nie zaraz jak nacisnę spacje to wywala ten...   11.07.2017, 11:41:56
- - trueblue   https://www.w3schools.com/jsref/jsref_trim_string....   11.07.2017, 11:43:34
- - nikos   Cytat(trueblue @ 11.07.2017, 12:43:34...   11.07.2017, 13:51:27
- - nospor   trim wyczysci ci tylko zbedne spacje na poczatku i...   11.07.2017, 15:21:03
- - trueblue   trim pomoże Ci przy linijce: if(search != ...   11.07.2017, 16:55:28
- - nikos   Cytat(nospor @ 11.07.2017, 16:21:03 )...   12.07.2017, 08:20:52
- - trueblue   Przemyśl działanie skryptu pod kątem wielu wyrazów...   12.07.2017, 08:47:51
- - nikos   Cytat(trueblue @ 12.07.2017, 09:47:51...   12.07.2017, 09:18:31
- - trueblue   Sprawdź dokładną treść zapytania.   12.07.2017, 09:27:46
- - nikos   Cytat(trueblue @ 12.07.2017, 10:27:46...   12.07.2017, 09:39:44
- - trueblue   A jeśli wpiszesz: "3310 Nokia", to jaki ...   12.07.2017, 09:42:55
- - nikos   Cytat(trueblue @ 12.07.2017, 10:42:55...   12.07.2017, 10:20:55


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 20:14