Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka - validate() current() next()
pr0woKator
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 1
Dołączył: 9.02.2012

Ostrzeżenie: (10%)
X----


Witam,

Nie mogę poradzić sobie potdczas tworzenia wyszukiwarki dla mojego serwisu - ma to być dynamicznie wyszukiwana treść po nazwie -

Używam takiego kodu

  1.  
  2.  
  3. $result = $db->query("SELECT * FROM suple WHERE nazwa LIKE '%$q%';");
  4. while ($result->valid()) {
  5. $row = $result->current();
  6. echo $row['nazwa']."\n";
  7. $result->next();
  8. }


Zwraca mi to taki błąd:

Fatal error: Call to undefined method mysqli_result::valid() in C:\xampp\htdocs\xampp\s\search.php on line 10

Kopletnie nie wime jak sobie z tym poradzić - tym bardziej, że demo osoby która opisała tutka działa.

Tutaj cały artykuł z którego brałem rozwiązanie:

http://dev.baczyk.net/2009/12/24/jquery-au...ne-podpowiedzi/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


bo autor skryptu nie używa bazy danych mySQL tylko SQLite

musisz przerobić kod tak by był zgodny z klasą dostępową do bazy danych
Go to the top of the page
+Quote Post
pr0woKator
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 1
Dołączył: 9.02.2012

Ostrzeżenie: (10%)
X----


hmm... jakieś propozycje? Próbowałem na różne spodoby i nic nie daje porządanego efektu :/
Go to the top of the page
+Quote Post
no_face
post
Post #4





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Jezeli uzywasz MySQLi to mozesz posluzyc sie takim rozwiazaniem:

  1. $db = new mysqli('host', 'user', 'pass', 'baza', 'ew. port');
  2. $result = $db->query("SELECT * FROM `suple` WHERE `nazwa` LIKE '%" . $q . "%';");
  3. if ($result->num_rows > 0)
  4. {
  5. while ($row = $result->fetch_object())
  6. {
  7. echo $row->nazwa . "\r\n";
  8. }
  9. }
  10. else
  11. {
  12. echo 'brak wynikow';
  13. }
Go to the top of the page
+Quote Post
pr0woKator
post
Post #5





Grupa: Zarejestrowani
Postów: 63
Pomógł: 1
Dołączył: 9.02.2012

Ostrzeżenie: (10%)
X----


Wszystko fajnie działa, tylko teraz jest problem, bo skrypt nie kasuje tych wyników które kompletnie nie pasują do wyszukiwanych(po wpisaniu kolejnych literek).

Jednak wszystko ładznie działa.

Ten post edytował pr0woKator 16.02.2013, 10:48:17
Go to the top of the page
+Quote Post
no_face
post
Post #6





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


To juz nie problem zapytania, pokaz wiecej kodu.
Go to the top of the page
+Quote Post
pr0woKator
post
Post #7





Grupa: Zarejestrowani
Postów: 63
Pomógł: 1
Dołączył: 9.02.2012

Ostrzeżenie: (10%)
X----


Wyświela się to wszytko ładnie pięknie, problem jest taki że chcę zorobić te podpowiedzi jako bezpośredni link do danego produktu,

W mojej pętli dodałem link: ale zamist przekierowywać na niego, całość dodaje się do imputa w którym wpisuję szukaną frazę..

  1. while ($row = $result->fetch_object())
  2. {
  3. echo "<a href='jakis-link.html'>". $row->nazwa . "</a>\r\n";
  4. }


Próbuję odnaleźć się w tym js, ale to jest dla mnie czarna magia...

I ew. można przekazać link jako $row[1], i z poziomu js go wyświetlić, ale też nie bardzo wiem jak to zrobić.
Go to the top of the page
+Quote Post
no_face
post
Post #8





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Dzieje sie tak z pewnoscia z uwagi na to, ze kazdy element podpowiadany ma zdarzenie onclick, ktore wywoluje przepisanie wartosci do inputa. Mozesz przy tym pogrzebac lub zastosowac zasade, ze wlasnie calosc zostaje umieszczona w inpucie po czym jeszcze doprogramujesz submita i od razu po kliknieciu zostanie wyszukany produkt. Jezeli bedzie on posiadal oryginalna nazwe i bedzie jedyny taki w bazie wyswietlisz od razu strone produktu, jezeli jednak bedzie pasowac wiecej, to wyswietli sie lista.

Jak mamy cos dalej dzialac powiedz z czego korzystasz, badz pokaz js.
Go to the top of the page
+Quote Post
pr0woKator
post
Post #9





Grupa: Zarejestrowani
Postów: 63
Pomógł: 1
Dołączył: 9.02.2012

Ostrzeżenie: (10%)
X----


Demo online znajdziesz tutaj:

http://supleso.pl/szukajka.php

w źródle będziesz miał jquery.autocomplet.js

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:22