Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyszukiwanie za pomocą skryptu php w wielu tabelach jednoczesnie, multiwyszukiwarka, jak przekształcić zapytanie SQL
m4rku5
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 31.08.2012

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


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
bpskiba
post
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


  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

Ten post edytował bpskiba 31.08.2012, 15:15:00
Go to the top of the page
+Quote Post
m4rku5
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 31.08.2012

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


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.
Go to the top of the page
+Quote Post
bpskiba
post
Post #4





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


http://pl.wikipedia.org/wiki/SQL_injection

http://www.poradnik-webmastera.com/artykul...l_injection.php

Ten post edytował bpskiba 1.09.2012, 09:10:46
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 Aktualny czas: 20.08.2025 - 08:31