Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyszukiwanie w bazie
czechu5
post 16.01.2009, 23:16:22
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.11.2008

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


witam.

mam mala baze danych.
tabela PHYSICIANS i kolumny first name , last name , genre, spec itd.

w kolumnie spec w niektorych rekordach wpisalem kilka wartosci oddzielajac je przecinkami np. spec1, spec2, spec3

w html-u zrobilem formularz z drop down menu o nazwie spec. zawiera on wszystkie mozliwe slowa zawarte w kolumnie spec.

wszystko dziala niby ok poza tym ze pokazuje tylko te rekordy w ktorych w spec jest jedno slowo

np

1)spec1
2)spec2
3)spec3, spec4
4)spec4
5)spec5, spec3


kiedy z menu wybiore spec1 lub 2 to jest ok
a jesli 3,4,5 to pokazuje mi ze brak wysnikow

chodzi mi o to ze jesli wybiore z menu np spec3 to wyswietli mi rekordy 3 i 5


oto kod php
  1. <?php
  2.  
  3. if (isset($_GET['spec']) && empty($_GET['spec']) === false) {
  4. $spec = sqlite_escape_string(trim($_GET['spec']));
  5. }
  6.  
  7.  
  8. $baza = 'data.sdb';  
  9. $db = sqlite_open($baza)
  10. or die('databese connection error!');
  11. $query = "SELECT * FROM physicians WHERE spec LIKE '$spec'";
  12.  
  13. $results = sqlite_query($db,($query))
  14. or die(sqlite_error_string(sqlite_last_error($db)));
  15. if(sqlite_num_rows($results) > 0) {
  16.  
  17. echo "<table border='1'>
  18. <tr>
  19. <th>First name</th>
  20. <th>Las tname</th>
  21. <th>Spec</th>
  22. <th>Gender</th>
  23. </tr>";
  24.  
  25. while ($entry = sqlite_fetch_array($results, SQLITE_ASSOC))
  26.  
  27. {
  28.  echo "<tr>";
  29.  echo "<td>" . $entry['first name'] . "</td>";
  30.  echo "<td>" . $entry['last name'] . "</td>";
  31.  echo "<td>" . $entry['spec'] . "</td>";
  32.  echo "<td>" . $entry['genre'] . "</td>";
  33.  
  34.  echo "</tr>";
  35. }
  36. echo "</table>";
  37.  
  38. } else {
  39.  
  40.  
  41. echo "no matches!";
  42. }
  43.  
  44. sqlite_close($db);  
  45. ?>
Go to the top of the page
+Quote Post
EarthCitizen
post 17.01.2009, 01:02:16
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

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


Sprawdź to zapytanie:
  1. SELECT * FROM physicians WHERE spec LIKE '%$spec%'
Go to the top of the page
+Quote Post
czechu5
post 17.01.2009, 21:26:07
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 3.11.2008

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


dzieki wielkie. dziala tak jak powinno!
pozdro
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 20.04.2024 - 04:10