![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie
Mam problem z polskimi znakami a mianowicie, po wpisaniu w pole wyszukiwarki np:węgiel nie pokazuje mi wyników tylko komunikat : Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in search.php on line 47, ale jeśli wpiszę wegiel to wyniki wyskakują , i nie wiem co zrobić by działały polskie znaki. Tabela w bazie SQL jest na UTF8-polish_ci. A tutaj kod a tutaj php:
Wcześniej jak szukałem jakiś fraz i wpisałem wyszukiwarce np : wegiel to jak otwierała mi sie nowa strona i miałem kilka rzcezy np: asortyment, ulica itp to były krzaczki jeśli pobierał wyniki z bazy ale jak dodałem:
to w wynikach pokazuje polskie znaki , jedynie w wyszukiwarce jak wpisuej polskie to nie działa i wyskakuje komunikat który napisałem wcześniej (Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in search.php on line 47,).Wiem że to chodzi o kodowanie ale już mi się pomysły wyczerpały ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
to nie ma żadnego związku z polskimi znakami
się nie możne wykonać musisz sprawdzić czy nie masz błędów wrzuć po $result=mysqli_query($base,$query);
i sprawdź czy nie ma błędu ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Oki rozumiem czyli mam:
tylko ja nie mam u siebie $linkt u mnei to jest base ? czyli tak
Teraz działa i pokazuje mi 0 wyników, ale w bazie w asortymencie jest węgiel z polskimi znakami i go nie pokazuje , co z tym fantem zrobić ? Ten post edytował airgucio 25.09.2013, 20:31:15 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
a znajduje wgl jakaś frazę ? bo być może masz źle sformułowane zapytanie
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak mam dwie firmy jedna w asortymencie ma wegiel bez polskich znaków a druga węgiel z polskimi znakami , jak dam wyszukaj wegiel to znajduje a jak z polskimi nie . Dodatkowo widzę że w bazie danych jest węgiel z polskimi znakami.
a może dac cos takiego : $query = "SELECT * FROM firma WHERE MATCH (telefon, firma, miejscowosc, asortyment) AGAINST ('$phrase')"; Ten post edytował airgucio 25.09.2013, 20:52:10 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Wpisz ten "węgiel" i zobacz co $_POST pokaże. Może problem leży w kodowaniu skryptu
Ten post edytował Turson 25.09.2013, 20:57:56 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Własnie tutaj jak np jestem w dodaj firmę i dodam słowo węgiel poczym wchodzę w firmę żeby wyświetlic info o niej pisze węgiel , pozatym jak dam wyszukaj po nazwie firmy i póżniej pokazuje mi o niej informację też pisze węgiel. Nie wiem tylko czemu wyszukiwarka nie odczytuje polskich znaków bo przecież łączy się z bazą tam jest utf-8 a tabela asortymenyt ma utf-8-polish
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A skrypty z PHP są zakodowane w UTF-8 ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Tak zakodowane z tym nie ma problemu , wydaje mi się że to jest jakiś problem w skrypcie
![]() ![]() Baza UTF-8 ,później tuf8-polish-ci, wpisuje i są w bazie polskie litery problem tylko z odczytaniem może coś z odczytywaniem tablic ? wyników ? dodatkowa linijka kodu odpowiedzialna za odczytywanie i pokazywanie ich w wynikach ? Zauważyłem że jak usune fragment
to jak w wyszukiwarce wpisze hasło z polskimi znakami to mi je wyświetli tylko mają znak zapytania - bazie jak podgladam to jest oki są polskie znaki Zauważyłem że jak dam : To w wyszukiwarka działa z polskimi znakami , tylko teraz jak dodać aby wszystkie wyniki były z polskimi znakami taki kod ma sens ?
Już wszystko działa ![]() oto kod gdyby ktoś chciał:
ktoś by coś jeszzce poprawił w nim ? Ten post edytował airgucio 26.09.2013, 17:14:04 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
-------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
A gdybym chciał ten skrypt przerobić na szukanie dat od do
To jak mam teraz coś takiego
to wyskakuje mi błąd Warning: mysqli_close() expects parameter 1 to be mysqli, null given in xxxxxxxxxxxxxxxxxxxxx/search1.php on line 80 Co z tym fantem zrobić a może dat wyszukiwac inacze ? format dat w bazie rok miesiac dzien Format DATE |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Znasz chociaż trochę angielski? Podstawy są niezbędne do pracy z PHP.
Parser mówi Ci dosłownie: "błąd w linii 80: parametr przekazany do funkcji powinien być typu mysqli, a nie ma nic (parametr jest pusty)". Wynika z tego, że zmienna $base nie zawiera to co powinna. Skoro deklarujesz ją tu:
oznaczałoby to, że zmienna się poprawnie nie utworzyła, ergo nie uzyskałeś połączenia z bazą. Dlaczego nie uzyskano połączenia trzeba się zastanowić. Konkluzja może być tylko jedna: błędne dane do połączenia z bazą. Musisz ustalić które. Czy baza działa na localhoście (czy się uruchomiła), czy dane dostępowe są poprawne, czy nazwa bazy poprawna, itd. Myśl. -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Hej rozumiem że to tyczy dostępów, tylko ten skrypt opracowałem
![]() Dane do bazy nie zostały zmienione, ale i też kilkakrotnie sprawdziłem czy jest wszystko oki, dodatkowo sprawdzałem czy są umowa_od i umowa_do w bazie wcześniejsze query to
a teraz podmieniłem na
myślałem że to zadziała mój kod wyszukiwarki to :
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
A jak wygląda struktura tabeli firma? Wklej definicję pól.
-------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wybacz że tylko opiszę ale nie jestem przy kompie i pisze z tableta:) w tebeli cała struktura ma np varchar(100) utf8_polish_ci jesli chodzi o umowa_od i umowa_do to one mają DATE czyli przetwarza mi w postaci rok miesiąc dzień. ( mam je wyświetlone na innej stronie więc nie pomyliem nazw nawet testowałem tam na podstawie between i tam pokazuje daty od do - tam tylko mi wyświetla a tu chciałem zrobić wyszukaj daty z przedziału)
wydaje mi się że źlę tworzę zapytanie czyli te select , ewentualnie mogłem coś pominąć przy połączeniu formularza z php no ale jak mam name="umowa_od" i później w pliku php i to
to powinno działać, ale dopiero oswajam się z php i sql więc nie wiem czy dobrze kombinuje ![]() a może użyć funkcji between
tylko jak to podłączyć pod formularz ? Ten post edytował airgucio 27.09.2013, 17:43:00 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Nie opatrzyłeś daty w cudzysłów, nie filtrujesz danych (chcesz stracić kiedyś pracę?). Poprawnie będzie:
Ten post edytował em1X 27.09.2013, 19:28:09 -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witaj dziękuje za pomoc
![]()
a formularz
ale dalej nie działa czy filtr mam też ustawić dla umowa_do ![]() Wybacz pewnie tak proste pytania ale wiele nauki przede mną ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
No raczej
![]() Ucz się na metodzie prób i błędów. Dodawaj coś nowego, edytuj i sprawdzaj. W końcu trafisz. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
ale dalej nie działa Nie jesteśmy jasnowidzami. Co właściwie nie działa? -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witaj
mój kod formularz wygląda teraz tak :
a php tak :
Kiedy wpisuje data od : 2013-10-10 i data do: 2013-10-20 i chce żeby wyszukał dane to wyświetla mi się puste okienko . skrypt chyba wogóle nie działa Mam tabele firma gdzie jest rekord umowa_od i umowa_do w której zapisuje daty i później chce żeby poprzez formularz w którym mam pole o nazwie=umow_od i o nazwie=umow_do można było wyszukać zakres dat które wpisuje, czyli w bazie znajdują się umowy z datami a ja poprzez formularz okreslam które maja sie pokazać z jakiego okresu Teraz nie wyskakuje mi żaden komunikat błędu , tylko puste okienko , dziękuję za zainteresowanie moim tematem drogi Kolego em1X ![]() Probelm rozwiązany zbudowałem od nowa wyszukiwarkę i teraz wszystko działa ![]() Ten post edytował airgucio 28.09.2013, 14:21:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:14 |