Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Najlepsze przeszukiwanie string'a.
Forum PHP.pl > Forum > PHP
Wishermil
Witam!

Od zawsze mam problem z dobrym i prawidłowym przeszukiwaniem stringa. Wszystkie możliwości, które wykorzystywałem do tej pory mają jakąś ułomność i są kombinowane. Chodzi mi o przeszukanie, które dokona bez problemu coś takiego:

Jest user, który nabywa powiedzmy jakieś produkty - każdy produkt ma przypisane id. Więc zapisuje je do tablicy pod nabyte_produkty w formie:

10 20 23 45

z czego każde z nich to id produktu.

Czy taka forma zapisu ma sens, a może jest ciekawsza?

Taki zapis:

10,20,23,45

Potem przeszukuje to - ale zazwyczaj są problemy jak wejdą w życie większe cyfry.

Traktuje tak samo: ,20 - jak ,200 -> bo znajduje tutaj dwa razy "20".

Jak zapisywać najlepiej do bazy takie rzeczy i jak potem je najlepiej czytać, żeby nie było żadnych problemów.

  1. $posiada = stripos($mybb->user['posiadane'], $crow['id']);


Zwraca wartość true or false, jednak problem i tak jest przy większych liczbach. Bo nie odróżnia 200 od 2000.

Z góry dziękuje za wskazówki.

Pyton_000
najlepiej każda oddzielnie
Wishermil
Każda oddzielnie. To prowadzi do tego samego, bo jeden produkt może posiadać wiele osób. Więc wtedy będzie przeszukwanie, które id ma dany produkt. To żadna zmiana.

Pyton_000
masz tabelę
Kod
id_usera | id_produktu
----------------------
   1     |     11
   1     |     21
   1     |     22
   2     |     22
   2     |     21
   2     |     32

I z czegoś takiego masz dużo większe możliwości wyszukiwania, statystyki itp.
Wishermil
No dobra.

W sumie można to tak rozwiązać, ale sądziłem że to niezbyt sensowne zasypywanie bazy cyframi.
Pyton_000
Najbardziej sensowne, baza jest od tego żeby z niej korzystać. Po co sobie utrudniać życie w jakieś dziwne przeszukiwanie stringów. Jak widzisz niesie to za sobą wiele problemów.
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.