Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Przeszukiwanie tablic
Forum PHP.pl > Forum > Przedszkole
kbilski
Witam

Jak zapytać aby przeszukiwało kilka tablic?

  1. $query = "SELECT * FROM kamery WHERE nazwa LIKE '%$qstring%'";


to pyta konkretnie o tablice 'kamery' a jak zrobić żeby sprawdzało w innych lub we wszystkich?

JOIN coś mi nie działa..oto kod:

  1. $query = "SELECT * FROM kamery WHERE nazwa LIKE '%$qstring%'";
  2. $result = mysql_query($query);
  3. if (!$result) {
  4. die("Nie można nawiącać połaczenia z bazą danych");
  5. }
  6. echo ('<table border="1">');
  7. echo "<tr><th>Tytuł</th><th>Autor</th><th>Stron</th></tr>";
  8. while ($result_row = mysql_fetch_assoc($result)) {
  9. echo "<tr><td>";
  10. echo $result_row['nazwa'] . '</td><td>';
  11. echo $result_row['id'] . '</td><td>';
  12. echo $result_row['grafika'] . '</td></tr>';
  13. }
  14. echo ("</table>");
  15. mysql_close($polaczenie);
  16. }
  17. $szukaj = $_GET["szukaj"];
  18. $self = $_SERVER['PHP_SELF'];
  19. if ($szukaj != NULL) {
  20. echo "Wyszukiwany ciąg to: <strong>$szukaj</strong>.";
  21. query_db($szukaj);
  22. }
  23. else {
  24. echo ('
  25. <form action"' .$self.'" method="get">
  26. <label>Znajdz:
  27. <input type="text" name="szukaj" id="szukaj" />
  28. </label>
  29. <input type="submit" value="Zatwierdz!" />
  30. </form>
  31. ');
  32. }
markonix
O jakich tablicach mowa? Chodzi o inne tabele czy inne kolumny?
kbilski
chodzi o tabele ..z UNION próbowałem ale nie zaskoczyło chyba że coś skopałem..na wklejonym przykładzie jak zrobić żeby szukało w tabeli kamery i switche? Bo na razie szuka tylko w kamery..
koodlaty
  1. SELECT col_a, col_b, ..., nazwa FROM WHERE nazwa LIKE '%$qstring%'"
  2. UNION SELECT col_x, col_y, ..., inna_nazwa WHERE inna_nazwa LIKE '%$qstring%'";

Ilość wybranych kolumn w obu select-ach musi być taka sama.
Kolumny z pierwszego select-a będą nagłówkami wynikowa tabeli
kbilski
Przy takim kodzie z UNION po wciśnięciu przycisku zatwierdź:

  1. // połączenie z bazą danych
  2. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  3. // połączenie ze schematem bazy danych
  4. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
  5. // Górne połączenie na twoim miejscu dał do osobnego pliku np. db.php bynajmiej nie trzeba tego pisac ciagle:)
  6.  
  7. $query = "SELECT nazwa FROM kamery WHERE nazwa LIKE '%$qstring%'
  8. UNION SELECT modelname FROM switche WHERE modelname LIKE '%$qstring%'";
  9. $result = mysql_query($query);
  10. if (!$result) {
  11. die("Nie można nawiącać połaczenia z bazą danych");
  12. }
  13. echo ('<table border="1">');
  14. echo "<tr><th>Tytuł</th><th>Autor</th><th>Stron</th></tr>";
  15. while ($result_row = mysql_fetch_assoc($result)) {
  16. echo "<tr><td>";
  17. echo $result_row['nazwa'] . '</td><td>';
  18. echo $result_row['id'] . '</td><td>';
  19. echo $result_row['grafika'] . '</td></tr>';
  20. }
  21. echo ("</table>");
  22. mysql_close($polaczenie);
  23. }
  24. $szukaj = $_GET["szukaj"];
  25. $self = $_SERVER['PHP_SELF'];
  26. if ($szukaj != NULL) {
  27. echo "Wyszukiwany ciąg to: <strong>$szukaj</strong>.";
  28. query_db($szukaj);
  29. }
  30. else {
  31. echo ('
  32. <form action"' .$self.'" method="get">
  33. <label>Znajdz:
  34. <input type="text" name="szukaj" id="szukaj" />
  35. </label>
  36. <input type="submit" value="Zatwierdz!" />
  37. </form>
  38. ');
  39. }
  40. ?>


Nie realizuje zmiennej $ połączenie i wyrzuca "Wyszukiwany ciąg to: ica-107.Nie można nawiącać połaczenia z bazą danych"
W bazie nazwa modelu dla kamer to "nazwa" a dla tabeli switche to "modelname'. Chce aby przeszukiwało (nazwa i modelname) w tabeli (switche i kamery)..

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.