Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przeszukiwanie kolumn danej tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
musznik
Witam

Problem jest taki :

Mamy w tabeli ( domki ) kolumny o nazwach
ID DOM mieszkaniec1 mieszkaniec2 mieszkaniec3 ... mieszkaniec20

mamy także kilkanaście rekordów. Zakłądamy że szukam kolegi o nazwie "Zdzichu" ktory jest gdzies w mieszkaniec1...mieszkaniec20 jakiegos rekordu (lub kilku rekordach, moze byc nawet w kazdym smile.gif )chce by zwrocony został wynik

ID DOM i w ktorej kolumnie się znalazł ZDZICHU (czy to mieszkaniec1 czy tez mieszakniec14) - jezeli znalazl sie także w kilku kolumnach tego samego domu, to neich to bedzie wyswietlanie po kolei

ID DOM mieszkaniec1
ID DOM mieszkaniec14 smile.gif

Pozdrawiam, problem nie powinien byc taki zawiły biggrin.gif party.gif
nospor
daj se:
  1. SELECT *
  2. FROM domki WHERE i tu te twoje warunki na kazde pole

zwroci ci rekordy, w których bedzie choc jeden zdzichu. Jeden rekord bedzie mogl zawierac kilku zdzichow. potem w php se sprawdzaj ktora to kolumna i juz.

Osobiscie takie struktury jak ta uwazam za zle. czemu? tyle kolumn . a to zawsze bedzie 20-tu mieszkancow? moze mniej, moze wiecej. a tak jestes uwiązany na sztywno. a i wyszukiwania są beznadziejne tak jak to teraz ma miejsce w Twoim przypadku
musznik
hm.. być może i masz rację, sam sposob wyszukiwania jest bezsensowny co spowodowane jest nie eleastyczną tabelą :|

wiec jak z twojej rady wynika...przebudować ją winksmiley.jpg
a sam problem wynika ze wracałem do starego projektu biggrin.gif bardzo starego... ktory chcialem wykończyć smile.gif pozdrawiam
nospor
tabela domek:
Cytat
id
pozostale dane domku


tabela mieszkaniec:
Cytat
id
imie
pozostale dane mieszkanca


tabela domek_mieszkaniec:
Łączy ona konkretnego mieszkanca z domkiem.
Cytat
id_domek
id_mieszkaniec


to byla sytuacja, gdy mieszkaniec moze byc przypisany do kilku domkow. nie wiem czemu ale moze byc smile.gif

teraz gdy tylko do jednego domku moze byc przypisany
tabela domek:
Cytat
id
pozostale dane domku


tabela mieszkaniec:
Cytat
id
id_domek
imie
pozostale dane mieszkanca


wyszukiwanie zdzicha dla drugiej wersji:
  1. SELECT *
  2. FROM domek d, mieszkaniec m WHERE m.imie='zdzichu' AND m.id_domek=d.id
musznik
dokładnie smile.gif dzięki dzięki smile.gif
chyba za bardzo lenistwo przygniata mnie do krzesła... bo przerabianie czego kolwiek nie należy do najprzyjemniejszych smile.gif

Jeszcze raz dzięki
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-2024 Invision Power Services, Inc.