intermediate
21.12.2010, 19:06:30
Witam,
Chciałem zrobić coś takiego, że każdy użytkownik strony mógł wrzucić zdjęcie na swoje konto. Stworzyłem narazie tabelę 'users' w bazie sql oraz katalog upload, gdzie bedą wrzucane zdjęcia. I teraz chciałem się zapytać czy lepiej będzie stworzyć osobną tabelę 'zdjęcia', czy po prostu w tabeli 'users' dodać kolumne 'zdjęcie'. Dodam jeszcze, że niektórzy mogą przecież wrzucić klika zdjęć. I jeszcze jakby ktoś w kilku słowach, mógł opisać w jaki sposób przypisać zdjęcie z folderu do bazy sql, a potem go odczytać. Nie chodzi mi o pisanie całego kodu, ale jedynie fragmenty, które byłyby pomocne. Jest typ BLOB, ale z niego podobno już lepiej nie korzystać. Dzięki z góry za pomoc.
lord2105
21.12.2010, 19:25:27
0. Dwie tabele osobno na foty osobno na userow powiązane ID usera
==== UPLOAD ====
1. Upload pliku + walidacja forma
2. Zapis foty nazwy i rozszerzenia pliku (nazwę najlepiej zmieniać w locie podczas uploadu, aby uniknąć ewentualnych powtórzeń) do tabeli photos i ID usera z np. SESJI
==== SHOW PHOTOS ====
3.
$query = mysql_query("SELECT photo_name FROM photos WHERE user_id = '".$_SESSION['user_id']."')
4. Petla do zapytania np. while i pozamiatane
askone
21.12.2010, 19:27:24
Skoro już zauważyłeś, że użytkownik może wrzucić kilka zdjęć to na 100% musisz dane o zdjęciach użytkowników zapisywać w osobnej tabeli.
W tabeli muszą być kolumny: id, user_id, name - gdzie "name" to nazwa pliku ze zdjęciem. Nie widzę sensu trzymać zdjęć w bazie - wyobraź sobie teraz 100 użytkowników, z których każdy wrzuci po 10 zdjęć, każde po 1MB. Tylko to da Ci 1GB miejsca w bazie

Pozdrawiam
lord2105
21.12.2010, 19:29:03
Cytat
Nie widzę sensu trzymać zdjęć w bazie - wyobraź sobie teraz 100 użytkowników, z których każdy wrzuci po 10 zdjęć, każde po 1MB. Tylko to da Ci 1GB miejsca w bazie smile.gif
ze co?
askone
21.12.2010, 19:32:43
Czego nie rozumiesz?? To zwykła najprostsza matematyka

Napisałem to bo w pierwszym poście padło stwierdzenie o typie BLOB - co sugeruje, iż autor wątku myślał o zapisie zdjęć bezpośrednio w bazie... Tego nie polecam - w bazie powinny być zapisane tylko nazwy do plików, które będą zapisane w jakimś dedykowanym folderze na serwerze...
Pozdrawiam
lord2105
21.12.2010, 19:37:11
chodzilo mi o to zebys nawet nie sugerowal (pisal) o takiej mozliwosci
intermediate
21.12.2010, 23:13:22
Dzięki za pomoc. chodziło mi właśnie o to żeby lepiej nie korzystać z typu BLOB