Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: prosta wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
stefan_precz
Do skryptu katalogu usuiłuje stworzyć taką prostą szukarkę no i problem jest tego typu że nie wiem jak w zapytaniu zrobić aby przeszukiwało dwie tabele na raz kod wygląda tak

  1. <?php
  2. mysql_query(&#092;"SELECT * FROM dyk_wpisy WHERE tytul like '%$klucz%' ORDER by `id` DESC LIMIT 100\")
  3. ?>


no i teraz szuka tylko po tabeli tytuł a chce zrobić w jednym zapytaniu tak zeby szukało tez w tabeli opis
nospor
PomyliŁeś pojęcia. MIaleś chyba na myśli kolumna a nie tabela.
a o OR slyszales? poczytaj se podstaw skladni sql
  1. <?php
  2.  
  3. mysql_query(&#092;"SELECT * FROM dyk_wpisy WHERE tytul like '%$klucz%' or opis like '%$klucz%' ORDER by `id` DESC LIMIT 100\");
  4.  
  5. ?>
stefan_precz
  1. <?php
  2. $klucz = $_GET['szukaj'];
  3.  
  4.  
  5.  
  6. echo&#092;"<table width=\"600\">
  7. <tr>
  8. <td width=&#092;"600\"><div class=\"wynik\">Wyniki wyszukiwania dla słowa: <a class=\"wynik\" href=\"szukaj.php?klucz=\".$klucz.\"\"><strong>\".$klucz.\"</strong></a></div></td>
  9. </tr></table>&#092;";
  10.  
  11.  include&#092;"config.php\";
  12. $query = mysql_query(&#092;"SELECT * FROM dyk_wpisy WHERE opis like '%$klucz%' or tytul like '%$klucz%' ORDER by `id`\") or die(mysql_error());
  13. while ($row = mysql_fetch_array($query))
  14.  
  15. {
  16. echo&#092;"<table width=\"600\">
  17. <tr>
  18. <td width=&#092;"600\"><a class=\"tytul\" href=\"\".$row['adres'].\"\" target=\"_blank\">\".$row['tytul'].\"</a></td>
  19. </tr>
  20. <tr>
  21. <td width=&#092;"600\"><div class=\"text\">\".$row['opis'].\"</div></td>
  22. </tr>
  23. <tr>
  24. <td width=&#092;"600\"><div class=\"adres\">\".$row['adres'].\" | dodano: <b>\".$row['data'].\"</b></div></td>
  25. </tr>
  26. <tr><td width=&#092;"600\"><div align=\"center\"><div class=\"kreska1\"></div></div></td></tr></table>\";
  27. }
  28.  
  29. if (mysql_num_rows($query) == '0')
  30. {
  31. echo&#092;"nie znaleziono wyniku pasującego do zapytania <b>\".$klucz.\"</b>\";
  32. }
  33. ?>


w tej chwili cały kod wygląda tak, i działa w porzadku na serwerze lokalnym gdy wgrywam go na ftp-a na inny serwer gdzie zwykle moje skrypty działały normalnie, to coś się kukli blink.gif wynik wyszukiwania jest całkiem inny niż na localu. Np wpsuje stare gry na localu znajduje wynik a na serwerze wirtualnym juz nie choć w bazie jest to samo. Problem chyba w wersji php na localu pisze w php5 a tam jest php4
SongoQ
wstaw echo tego zapytania i sprawdz i na lokalu i na serwerze i porownaj zmiany.
stefan_precz
sory ale nie rozumiem za bardzo echo tego zapytanie jest zwracane w pętli smile.gif

Gdy przełącze na localu serwer na php 5 to działa dobrze gdy przełącze na 4 to działa tak jak na serwerze jak to przepisać aby działało na php 4
SongoQ
  1. <?php
  2. echo &#092;"SELECT * FROM dyk_wpisy WHERE opis like '%$klucz%' or tytul like '%$klucz%' ORDER by `id`\";
  3. ?>


Zobacz czy wyniki sie pokrywaja.
stefan_precz
gdy wstawiłem to na serwerze lokalnym z włączonym php 4 wyniki zaczęły pokazywać się dobrze tak jak na php 5 ale na serwerze wirtualnym dalej jest źle

zobiłem tak:
  1. <?php
  2.  
  3.  include&#092;"config.php\";
  4.  
  5.  echo &#092;"SELECT * FROM dyk_wpisy WHERE opis like '%$klucz%' or tytul like '%$klucz%' ORDER by `id`\";
  6.  
  7. $query = mysql_query(&#092;"SELECT * FROM dyk_wpisy WHERE opis like '%$klucz%' or tytul like '%$klucz%' ORDER by `id`\") or die(mysql_error());
  8. while ($row = mysql_fetch_array($query))
  9.  
  10. {
  11.  
  12. //wynik...
  13.  
  14.  
  15. ?>
SongoQ
Chodzilo mi o to czy wynik zapytan sie pokrywa (czy oba zapytania tak samo sie wygenerowaly), jesli tak to cos jest nie tak w kodzie.
stefan_precz
rzeczywiście pytania do bazy wygenerowały się identycznie czyli gdzies w kodzie ma być błąd będę szukał
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.