![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Otóż mam problem. Mam już działającą wyszukiwarkę, przy wpisaniu nazwy użytkownika wyświetla się użytkownik z linkiem do profilu, ale chciałbym żeby również przy wpisaniu miasta wyświetlili się userzy z danej lokacji. Moje pytanie jak połączyć wyszukiwanie w 2 tabelach aby wyniki wyświetlały się zależnie od tego czy user wpisze nick bądź lokalizację.Słyszałem o UNION , ale jakoś mi to nie wychodzi. Link do wyszukiwarki: http://compsite.privacy.pl/Skrypt2/viewfriends.php#, można przetestować wpisując a*.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
użyj JOIN
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Sorry pisałem późno ten temat i nie w wielu tabelach tylko wyszukiwanie w jednej tabeli ;P. I jeśli JOIN to jak tego dokładnie użyć, użyłem tak jak w manualu i wyskakuje błąd z mysql_fetch_array.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 194 Pomógł: 26 Dołączył: 9.01.2011 Skąd: /dev/null Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
no tak tylko ja mam to zrobione WHERE MATCH AGAINST
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 194 Pomógł: 26 Dołączył: 9.01.2011 Skąd: /dev/null Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak jak napisałeś ale:
A 37 linijka to: |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 194 Pomógł: 26 Dołączył: 9.01.2011 Skąd: /dev/null Ostrzeżenie: (0%) ![]() ![]() |
daj
może coś wypluje ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
W twoim zapytaniu nie widzę dwóch tabel. Cały czas odnosisz się do tabeli users i wybierasz z niej kilka kolumn (username, name, location, avatar).
W pierwszym pytaniu pytasz o ilość wierszy odpowiedzi a w drugim wyszukujesz po username operując także na tabeli users. Jeśli używasz przeszukiwanie pełnotekstowe, to przy tworzeniu tej tabeli powinno być zaznaczone utworzenie indeksu. Pełnotekstowe szukanie usera z username, które najczęściej jest tylko jednym słowem jest lekką przesadą. W tym wypadku like wystarczy w zupełności. I tak wyłapie wszystkie podobne nazwy userów. Nie ma co używać JOIN, ponieważ nie ma nawet dwóch tabel. pozdrawiam |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Sorry pisałem późno ten temat i nie w wielu tabelach tylko wyszukiwanie w jednej tabeli ;P. I jeśli JOIN to jak tego dokładnie użyć, użyłem tak jak w manualu i wyskakuje błąd z mysql_fetch_array. No rozumiem, spróbuje z LIKE i dam znać. Dodano: No powiem Ci że działa teraz, tylko że problem jak wpisuje polskie znaki np w "Wrocław" Jak napisze Wroc to znajduje, ale jak dodam ł to od razu błąd wyskakuje.. Ten post edytował jaca19 6.02.2011, 15:55:10 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Problem z polskimi znakami może wynikać z kilku problemów.
1. Kodowania strony - używaj najlepiej utf8 2. porównywanie znaków w Mysql (najlepiej: utf8_general_ci) 3. Czy w edytorrze php masz tę same tablicę kodową, co twoja strona? pozdrwiam |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
1. Używam
2. Tak mam ustawione 3. Tak I nadal błąd kiedy próbuje wyszukać frazy z polskim znakiem. Nie mam pojęcia gdzie tkwi problem. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 4 Dołączył: 4.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
A jaki błąd wyskakuje?
wstaw to w linijce 20 (powyższy listing) i powiedz, co wypluło. echo '<pre>'; var_dump($sql); echo '</pre>'; Ten post edytował Zbigizmi 6.02.2011, 20:29:08 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
daj może coś wypluje ![]() Podbijam. Na pewno coś wypluje. Spróbuj tego i podaj rezultat. Przy okazji podaj, jak wygląda Twoje obecne zapytanie. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 23.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Obecny kod wyszukiwania. Zrobiłem tak jak napisał zbigizmi i przy wpisywaniu polskich znaków wypluwa "bool(false)" a jak dałem "die(mysql_error());" to:
omg, działa ;P miałem username w bazie ustawione na porównywanie latin_general_ci stąd te błędy. Przepraszam za niedopatrzenie ale oczywiście daje po + wszystkim którzy mnie naprowadzili ![]() Ten post edytował jaca19 8.02.2011, 23:04:55 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:01 |