Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]wyszukiwarka z bazy mysql
Forum PHP.pl > Forum > Przedszkole
bialko0019
Witam.

W bazie danych mysql mam tabele z 7 kolumnami.

Szukam w trzech z nich danej frazy i te trzy znalezione wpisy wyświetlają się. Jak zrobić, by po znalezieniu wyników nie pokazywane były tylko te szukane kolumny tylko dodatkowo do nich pokazywane nastepne 4 kolumny, w kórych nie było szukane questionmark.gif

mam skrypt:

  1. <center><?php
  2. // program wyszukiwarki - search.php
  3. // wyświetlenie nagłówka
  4. echo'<h2>Wyniki wyszukiwania</h2>';
  5. // usunięcie niepotrzebnych białych znaków
  6. $_POST['phrase']=trim($_POST['phrase']);
  7. // sprawdzenie, czy użytkownik wpisał dane
  8. if(empty($_POST['phrase']))
  9. // jeśli nie, to wyświetl komunikat i zakończ działanie skryptu
  10. die('Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!');
  11. // jeśli jednak dane są wpisane poprawnie
  12. else
  13. {
  14. // połączenie z bazą danych, NIE ZAPOMINJ USTAWIĆ WŁASNYCH DANYCH!
  15. $base=mysqli_connect('mysql.cba.pl','xxx','xxx','xxx');
  16. // skonstruowanie zapytania
  17. // zwróć uwagę na operator Like - to on jest sercem całej aplikacji. Pozwala wyszukać dany ciąg w bazie danych
  18. // jak zapewne zauważyłeś, przed frazą i po niej umieszczam znaki procenta %
  19. // ten znak symbolizuje dowolny inny ciąg znaków, więc jest niezbędny do skutecznego wyszukiwania
  20. // połaczenie operatorem Or pozwala na wyszukiwanie danego ciągu zarówno w nazwie, jak i opisie produktu
  21. // UWAGA! Tutaj też nie zapomnij ustawić swoich danych!
  22. $query="SELECT * FROM `wyszukaj` WHERE `plec` LIKE '%kobieta%' AND `narodowosc` LIKE '%polakanglik%' AND `zainteresowania` LIKE '%komputery%' LIMIT 0 , 30";
  23.  
  24.  
  25. // wysłanie zapytania do bazy danych
  26. $result=mysqli_query($base,$query);
  27.  
  28.  
  29. // ustalenie ilości wyszukanych obiektów
  30. $obAmount=mysqli_num_rows($result);
  31. // wyswietlenie ilości wyszukanych obiektów
  32. echo'Znaleziono: '.$obAmount.' osoby<br /><br />';
  33. // wyświetlenie wyników w pętli
  34.  
  35. for($x=0;$x<$obAmount;$x++)
  36. {
  37. // przekształcenie danych na tablicę
  38. $row=mysqli_fetch_assoc($result);
  39. // wyświetlenie numeru identyfikacyjnego
  40. echo $x+1;
  41. echo '.';
  42.  
  43. // wyświetlenie
  44. echo '<table border="1" align="center"><tr><td width="150"><b></td><td width="650">'.$row['zainteresowania'].'</b></td><br /></tr>';
  45. echo '<tr><td width="150"><b> </td><td width="650">'.$row['plec'].'</b></td><br /></tr>';
  46. echo '<tr><td width="150"><b> </td><td width="650">'.$row['narodowosc'].'</b></td></tr></table>';
  47. }
  48. }
  49. // zamknięcie połączenia
  50. mysqli_close($base);
  51. // koniec aplikacji
  52. ?>
piotrooo89
tu daj resztę nazw kolumn z tabeli.

  1. <?php
  2. echo '<table border="1" align="center"><tr><td width="150"><b></td><td width="650">'.$row['zainteresowania'].'</b></td><br /></tr>';
  3. echo '<tr><td width="150"><b> </td><td width="650">'.$row['plec'].'</b></td><br /></tr>';
  4. echo '<tr><td width="150"><b> </td><td width="650">'.$row['narodowosc'].'</b></td></tr></table>';
  5. ?>
bialko0019
TAK exclamation.gif!! Kurcze, wpisywalem tak i wyswietlalo sie puste - akuart ta dana miala to pole nie wypelnione i myslalem ze to zle ! dziekuje exclamation.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.