Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jaki typ kolumny dla tablicy
Forum PHP.pl > Forum > Bazy danych > MySQL
onlyX
Mam kłopot z zapisywaniem głosów dla jekiegoś elementu. Nie wiem czy lepiej było by zapisać głosy w oddzielnej tabeli (tak jak w phpBB), czy może w rekordzie danego elementu w postaci tablicy.
Dla drugiego przypadku mam takie pytania:
W jaki sposób najlepiej przechowywać tablice w bazie danych?
Jaki typ kolumny jest do tego najlepszy?
Jakiej funkcji użyć: serialize() implode() czy może jeszcze jakiejś innej?
Kinool
w zaleznosci od wielkosci tablicy mozesz np. uzywac tinytext albo text a elementy tablicy odzielac np przecunkiem "," zapisujac tablice do bazy robic implode
  1. <?php
  2. $baza=implode(',', $tablica);
  3. // a przy pobraniu danych z bazy explode
  4.  
  5. $tablica = explode(',', $baza);
  6.  
  7. ?>


nie wiem co jest bardziej wydajne czy serialize czy implode i explode
Paul
Moim zdaniem lepsze jest uzycie serialize w niektorych przypadkach, w ktorych nie znane sa dane jakie bedzie zawierac tablica - moze na przyklad zawierac uzyty seperator...
onlyX
Dane które mam zamiar przechowywać w tablicach to same liczby (ocena lub id użytkowników). Więc użycie implode() i explode() wydaje się najrozsądniejsze.
FiDO
Jesli to jakis maciupki projekcik to mozesz sobie na cos takiego pozwolic, ale mimo wszystko polecalbym jednak zrobic to w osobnej tabeli i zrobic jakas relacje jeden do wielu czy tez wiele do wielu w zaleznosci od tego co Ci potrzebne (prawdopodobnie wlasnie tak jest to w phpbb).
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.