Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Array i bazy
Forum PHP.pl > Forum > Przedszkole
grabos
Czy istnieje mozliwosc przechowywania Tablic w Bazie danych?
l0ud
Tak. Najprościej - przepuścić przez serialize() i zapisać jako tekst. Po odebraniu przepuścić przez unserialize() uzyskując na powrót tablicę smile.gif

http://pl.php.net/manual/pl/function.serialize.php
http://pl.php.net/manual/pl/function.unserialize.php
nospor
to nie ma nic wspolnego z programowaniem obiektowym...

tak, serializujesz tablice i zapisujesz do bazy
mike
Masz ma myśli włożenie tablicy do jednego pola? Tak, jest taka możliwość.
Możesz taką tablicę poddać serializacji do stringa i zapisać w polu bazy danych.
serialize() a po odczytaniu deserialize()

Ale odradzam to, postępowanie takie to czysta głupota.
grabos
Dlaczego czysta głupota?
starach
Z tego samego powodu dla którego pisze się kilka klas obsługujących
użytkownika grupy użytkowników i ich uprawnienia a nie wali się wszystko do jednej.
Anty-wzorce można też odnieść do projektowania baz danych.
mike
Cytat(grabos @ 26.06.2008, 12:27:31 ) *
Dlaczego czysta głupota?
Ponieważ w ten sposób pozbywasz się 90% możliwości bazy danych.

Przeanalizuj taką sytuację: masz tabelę Products, która zawiera pole tags, gdzie zapisujesz wszystkie tagi w zserializowanej tablicy.
Masz wtedy w tym polu coś takiego:
Cytat
a:2:{i:0;s:5:"pliki";i:1;s:8:"nowości";}

Wyszukaj teraz proszę szybko i wygodnie wszystkie produkty, posiadające tag nowości.

To bez sensu.

W bazach danych w jedno pole zapisuje się jedną wartość. Jeśi chcesz więcej tworzysz relacje.
grabos
ale tutaj to wybieram chyba mniejsze zło - bo chce napisac skrypt który pozwoli na stronie dynamicznie tworzyc tabelki - wybiera sie ile ma miec pol, ile wierszy... no i pomyślałem zeby przechowywać to z bazie przy pomocy tablic... chyba ze macie inna propozycje
mike
Napisz więcej o swoim pomyśle bo chyba idziesz na około.
Dynamiczne rzeczy również zapisuje się tak jak powonno a nie jak nie powinno :-)
grabos
no wiec tak - w panelu Administracji chce zamieścić skrypt, który do danej podstrony z tekstem będzie dołączał tabelki - np z wynikami meczy... ale to moze być np jeszcze jakis grafik rozkładu zajeć... wiec nie wiadomo ile dokładnie bedzie ona miała kolumn, i ile wierszy... skrypt ma tworzyc Tablice - której kazde pole bedzie odpowiadało kolejno za kazde pole, które później będę mógł swobodnie edytować
starach
Grałeś kiedyś w statki ?
Przechowuj w bazie ilość wierszy i kolumn.
W drugiej tabeli zawartość każdego pola identyfikując je przez row, col i po sprawie.
Będzie to o wiele lepszy pomysł bo rozwojowy i przyjemniejszy ( nie mówię że łatwiejszy ) w implementacji,
ale na pewno łatwiejszy w modyfikacji.
grabos
no o takim sposobie tez pomyslałem... - no i chyba tak zorobie
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.