Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z zapytaniem do bazy
Gregorio
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.07.2013

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


Witam,

Mam problem z wybraniem danych z tabeli

Dane w tabeli zapisane są w ten sposób : Opcja 1|Opcja 2|Opcja 3|

Próbowałem takie zapytanie select * from tabela where wyposazenie in ('Opcja 1|','|Opcja 2|','Opcja 3|');

Jednak nie zwraca mi danych. Jak zrezygnuje z | wykonujac takie zapytanie select * from tabela where wyposazenie in ('Opcja 1','Opcja 2','Opcja 3');
to łapie tylko pierwszą wartość z zapytania.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




znaczy ze w jednym polu tekstowym masz tak zapisane opcje? No to masz totalnie zla strukture.
Opcje maja byc oddzielną tabelą i potem masz je wiazac dodatkową tabela. Struktura

TABELA
ID
....

OPCJE
ID
NAZWA
....

TABELA_OPCJE
ID_TABELA
ID_OPCJA

I wowczas wszystko jest tak jak nalezy i mozna normalnie na tym pracowac.


Jesli zas opcji masz malo to mozesz tez pobawic sie w BITy
http://nospor.pl/opcje-dwuwartosciowe-przechowywanie.html
Go to the top of the page
+Quote Post
bpskiba
post
Post #3





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


Zdrowy rozsądek podpowiada, że nie należy brnąć w ślepy zaułek i przerobić strukturę zgodnie z sugestiami nospor'a
Odnośnie samego twojego zapytania:
  1. SELECT * FROM tabela WHERE wyposazenie LIKE ('%Opcja 1%') OR wyposazenie LIKE('%Opcja 2%') OR wyposazenie LIKE('%Opcja 3%');
Go to the top of the page
+Quote Post
Gregorio
post
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.07.2013

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


bpskiba - dzięki zadziałało, mam jeszcze pytanie w tabeli jest wiele wierszy i np wybrało mi wersje o której pisałem "Opcja 1|Opcja 2|Opcja 3|" ale też wiersze gdzie była np tylko sama Opcja 3 lub Opcja 2.
czy mógłbyś mi pomóc z takim zapytaniem ?

Ten post edytował Gregorio 11.07.2013, 15:10:50
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No to zamiast OR masz uzyc AND.... toz to prosta logika jest.
I jesli mozesz to zmien te baze bo daleko na czyms takim nie zajedziesz
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 - 06:45