Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] zaawansowany WHERE
KirkoR
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 14.02.2004
Skąd: Warszawa

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


Mam komórki w których umieszczam n liczb poprzedzielanych ":" np.:
Kod
1:5:9:

Jak zrobić aby na poziomie slectowania z bazy pobrać tylko te które zawierają np. 5
Nie chcę pobierać wszystkich rekordów, nastepnie ciąć string i w zależności czy się zgadza czy nie wyświetlać dane - przy rekordach liczonych w tysiacach to będzie długo trwało...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


[sql:1:e5c2620f8d]
SELECT *
FROM tabela
WHERE pole RLIKE '(^|:)XX(:|$)';
[/sql:1:e5c2620f8d]
Za XX podstawiasz liczbe, ktorej szukasz.
Bedzie to wydajniejsze niz robienie tego z php, ale wiecej bys zyskal jakbys przeprojektowal baze, bo widze tu probe zastosowania relacji 1-n w dosc niefortunny sposob.
Jak chcesz to napisz jakie masz teraz tabele (i pola w nich), a podpowiem Ci (albo ktos inny jak zdazy :)) jak to powinno wygladac.


---edit:
Panowie.. Wasze rozwiazanie jest slabe.. mowa jest o liczbach, a nie o cyfrach, czyli moze byc cos wiecej niz 10, a jak zadziala Wasze rozwiazania jak w tym polu bedzie liczba 15?...
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 21:28