Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyszukiwanie za pomocą skryptu php w wielu tabelach jednoczesnie
Forum PHP.pl > Forum > Bazy danych > MySQL
m4rku5
witam! Mam dwie tabel w bazie:
  1. ogloszenia:
  2. id int(11) AUTO_INCREMENT,
  3. tytul varchar(255),
  4. autor varchar(255),
  5. tresc text,
  6. PRIMARY KEY (id)
  7.  
  8. wiadomosci:
  9. id int(11) AUTO_INCREMENT,
  10. tytul varchar(255),
  11. autor varchar(255),
  12. tresc text,
  13. PRIMARY KEY (id)


Kod wyszukiwarki w pliku szukaj.php wygląda następująco:
  1. <form action="szukaj.php" method="post">
  2. <input type="text" name="phrase" size="25">
  3. <input type="submit" value="szukaj">
  4. </form>
  5.  
  6. <?
  7. include ("polaczenie.php");
  8. if(empty($_POST['phrase']))
  9. die('Nie można wyświetlić wyników wyszukiwania, proszę wpisać coś w pole wyszukiwania!');
  10. else
  11. {
  12. $query="SELECT * FROM ogloszenia WHERE tytul LIKE '%{$_POST['phrase']}%' OR tresc LIKE '%{$_POST['phrase']}%' ORDER by data_01 DESC";
  13. $result=mysql_query($query);
  14. $obAmount=mysql_num_rows($result);
  15. echo'Znaleziono <b>'.$obAmount.'</b> rekordów<br /><br />';
  16.  
  17. for($x=0;$x<$obAmount;$x++)
  18. {
  19. $row=mysql_fetch_assoc($result);
  20. echo $row['tytul'];
  21. }
  22. }
  23. ?>


Wyszukiwarka wyświetla wypunktowane tytuły z tabeli ogłoszenia. Jak przekształcić zapytanie SQL aby wyszukiwało również w tabeli wiadomości jednocześnie i wyświetlało wszystkie tytuły jakie znajdzie? Wiem, że pewnie już kiedyś było podobne pytanie ale chciałbym, żeby ktoś objasnił mi jak zmodyfikować ten skrypt żeby właśnie tak zadziałał. Próbowałem z łączeniem zapytań za pomocą UNION ale coś nie bardzo chce mi działać. Czy ktoś może mi pomóc?
pozdr.
bpskiba
  1. SELECT tytul,autor,tresc FROM ogloszenia WHERE tytul LIKE '%{$_POST['phrase']}%' OR tresc LIKE '%{$_POST['phrase']}%'
  2. UNION
  3. SELECT tytul,autor,tresc FROM wiadomosci WHERE tytul LIKE '%{$_POST['phrase']}%' OR tresc LIKE '%{$_POST['phrase']}%'
  4.  

Jednak sortowania nie podpowiem, gdyż nie widzę kolumny o nazwie data_01
W tym przypadku przemyślenia wymagają też kwestie bezpieczeństwa
m4rku5
Zastosowałem i działa! Dzięki, kombinowałem z tym UNION i nie mogłem dojść.
A tak jeszcze zapytam - czemu popracować nad bezpieczeństwem, to wyszukiwarka ktrórą wbuduje w skrypty n a stronie, w sumie suchy najprostszy kod co prawda, ale bardzo dziurawy?
pozdr.
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.