Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie liczby w bazie danych
Forum PHP.pl > Forum > PHP
miras
Witam, mam taki problem w bazie danych mam zapisane liczby w ten sposób- :1:2:3:4:5:6 i muszę zrobić wyszukiwanie w bazie danych np. w którym rekordzie znajduje się liczba 1.

To nie działa, ale może lepiej zobrazuje to, co chcę osiągnąć:
  1. $moto = mysql_fetch_array(mysql_query("SELECT * FROM motocykle WHERE strstr(zdjecia, '5') LIMIT 1"));


Dziękuję z góry!
Crozin
Domyślam się, że te liczby to identyfikatory z innej tabeli, tak? No to powinieneś skorzystać z relacji wiele-do-wielu, a nie tworzyć takie potworki.
miras
Tak z innej tabeli zamiast tej 5 co podałem w przykładzie jest $id, które identyfikuje użytkownika po zdjęciu..


@@@

Nie mogę znaleźć po tym, co mnie nakierowałeś nic, co by mi się przydało..
Crozin
Poczytaj o relacjach w relacyjnych bazach danych takich jak np. MySQL. Masz po prostu źle (fatalnie wręcz) zaprojektowane połączenie zdjęć z danymi motocyklami. Google: Mysql relacje, Mysql wiele-do-wielu itd.

PS. Jeżeli dane zdjęcie może być przyporządkowane tylko do jednego motocyklu to mamy do czynienia z relacją jeden-do-wielu, a nie wiele-do-wielu.
miras
Chyba za mało wytłumaczyłem, chodzi o to, że skrypt ajax losuje zdjęcia z tabeli w bazie danych `zdjecia` i każde zdjęcie ma swoje id, które jest przypisane dla każdego motocykla, w sposób taki jak już pisałem jak jest np. jedno zdjęcie to jest :2 a jeżeli więcej :5:7:8 itd.
I chcę znaleźć id Motocykla po tym id zdjęcia, które wylosuje skrypt ajax...


trochę nagmatwałem, ale mam nadzieje, że zrozumiesz.
Crozin
Ależ ja od początku doskonale rozumiem co masz i co chcesz zrobić. Problem w tym, że nie powinieneś tego tak robić (nie powinieneś trzymać tych identyfikatorów jako tekstu, w którym są liczby oddzielone dwukropkiem). Bazy typu MySQL nie są po prostu przystosowane do takiego działania.

Google: MySQL relacja jeden-do-wielu

Następnie będziesz mógł zaprojektować swoją bazę poprawnie i takie zadania nie będą sprawiać Ci problemu.
miras
No dobrze, stworzyłem jeszcze jedną tabele tzw. łączacą... i naskrobałem coś takiego:


  1. SELECT n . *
  2. FROM galeria a, uzytkownicy u, laczaca x
  3. WHERE x.wlasciciel = u.motocykl AND x.id_zdjecie = a.id_zdjecie AND u.zdjecie = 'CO TU WPISAĆ, ŻEBY ZNALAZŁO ID ZDJĘCIA?'


co wpisać tam gdzie napisałem, żeby znalazło mi to zdjęcie ? i czy wgl o to chodzi ?

@ I te zapytania w Phpmyadminie oczywiście, tak ?


@@@ Poradziłem, 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-2025 Invision Power Services, Inc.