Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wyszukiwanie po nipie
trucksweb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


mam taki kod do obslugi wyszukiwania firmy po numerze NIP. (pole nip w bazie danych to varchar)

  1. <?php
  2. SELECT id, nazwa, MATCH (nip) AGAINST '666-55-555-55' FROM klienci
  3. ?>


i niesttey nie dziala bo wyswietla mi wszystkich klientow z wynikiem zapytania MATCH 0 - mimo, ze jest klient o podanym nipie

ktos wie czemu ?


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Widziałem już na tym forum kwiatki typu:
  1. WHERE user LIKE 'Adaś'

ale używanie FULLTEXT-a do czegoś takiego to już przegięcie ;]


Po pierwsze FULLTEXT się do takich celów nie nadaje
Po drugie LIKE też nie
Po trzecie zapomniałeś o WHERE
Po czwarte zapoznaj się z operatorem porównania: =


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
trucksweb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


  1. <?php
  2. SELECT id,nip FROM klienci WHERE MATCH (nip) AGAINST ('".$_GET['nip'] . "' IN BOOLEAN MODE) ORDER BY MATCH (nip) AGAINST ('".$_GET['nipt']."'
  3. IN BOOLEAN MODE) DESC
  4. ?>



troche zmieniony kod, wyszukuje poprawnie tylko jesli nip jest podany jako ciag cyfr, natomiast gubi sie przy postaci ze " - " w numerze.

//
i nie chce wyszukac tylko i wylacznie jednego klienta, a wszystkich z podobnymi nipami np. gdy podam 666-

Ten post edytował trucksweb 10.08.2008, 20:40:16


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Weź sobie do serca to, co napisał ~Kicok...
Go to the top of the page
+Quote Post
trucksweb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


Cytat
ale używanie FULLTEXT-a do czegoś takiego to już przegięcie ;]


Po pierwsze FULLTEXT się do takich celów nie nadaje
Po drugie LIKE też nie
Po trzecie zapomniałeś o WHERE
Po czwarte zapoznaj się z operatorem porównania: =


czyli co mi pozostaje ?


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. SELECT id, nazwa FROM klienci WHERE nip='666-55-555-55'

blinksmiley.gif

Ten post edytował phpion 10.08.2008, 20:44:25
Go to the top of the page
+Quote Post
trucksweb
post
Post #7





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


u mnie to nie przejdzie- skrypt MUSI wyszukiwac wielu klientow i pod roznymi postaciami numerow nip: np. 666-666-66-66 i 666-66-666-66


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
Kicok
post
Post #8





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Wywal wszystkie znaki inne niż cyfry z nipów - będzie się łatwiej szukało.


A co do tych minusów w FULLTEXT to działają one podobnie jak wyszukiwarka google, czyli:
'eee +ddd -bbb' oznacza "Znajdź wiersze w których WYSTĘPUJE "eee" oraz WYSTĘPUJE "ddd" oraz NIE WYSTĘPUJE "bbb"


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
SirZooro
post
Post #9





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


Z tego co pamiętam jedna forma NIP-ów jest nadawana osobom prywatnym (3-3-2-2), a druga firmom (3-2-2-3), więc po zwalidowaniu że NIP jest poprawny (opis algorytmu jest chociażby na Wikipedii) możesz go w takiej postaci zapisać do bazy i potem go tak samo szukać . Możesz też w ogóle wyrzucić pauzy i zapisać to jako ciąg cyfr - tak też to będzie działać, tylko że stracisz informacje czy kontrahent jest firmą czy osobą (znam jeden system gdzie tak to jest zrobione).


--------------------
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: 19.08.2025 - 06:32