Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

Нова тема
помощ за архитектура на база данни
Тази тема е погледната 230 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 06.07.2008 12:48
Divan
Чирак

Мнения: (5)

Здравейте ,
Съвсем отскоро се захванах да разучавам MySQL i PHP и като всеки съвестен ученик започнах да си мисля задачки , но ето че стигнах до тук, за да ви помоля за помощ и съвет.
Значи въпросите ми са два :

1. Искам да направя контролен панел с който да мога да качвам снимки - въпросът ми е дали мога да ги качвам в база данни (ако мога какви трябва да са настройките на таблицата ) или ако не може така - как е най - удачно да се направи.

2. Всяка снимки искам да обвържа с друга таблица в която да се намира повече информация за продукта , но не ми стана много ясно по какъв начин се обвързват две таблици.

PS: Използвам PHP Admin за контролиране на MySQL базата данни.


 
---------------------------
Потребител от: 11.12.07 | Всички уроци от Divan | Всички скриптове от Divan
напиши eMail напиши лично съобщение виж профила на Divan
Публикувано на: 06.07.2008 15:10
Mutatos
Император

Администратор

Мнения: (1263)

Здрасти!

Правиш си една таблица na ime "image".

CODE
1
2
3
4
CREATE TABLE `image` (
`image_id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`source` BLOB NOT NULL
) ENGINE = MYISAM ;

Обяснение: За всяка картинка ще имаш по един нов ред в тази таблица, като всяка една ще има уникално ид "image_id". В полето "source" ще се запаметява картинката в двоичен формат. Ако не знаеш как става, трябва да прочетеш малко за тоиз тип запаметяване. Ако ли не, тогава запамети в тази таблица само пътя до картинката, където се намира тя. За тази цел промени полето от BLOB в VARCHAR (xxx).

Следващата стъпка е свързване на картинката с допълнителната информация за нея. Това се прави чрез нейното уникално ид "image_id".

CODE
1
2
3
4
5
6
CREATE TABLE `image_config` (
`image_id` SMALLINT UNSIGNED NOT NULL ,
`config_1` VARCHAR( 10 ) NOT NULL ,
`config_2` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `image_id` )
)
ENGINE = MYISAM ;

Ето ти и втората таблица с примерно име "image_config". Връзката (1 към 1) между двете таблици става с полето "image_id".

Ето и една примерна заявка, как двете таблици могат да се използват:

CODE
1
2
3
4
SELECT *
FROM image AS img
LEFT JOIN image_config AS imgc ON ( img.image_id = imgc.image_id )
WHERE img.image_id = 1

Ако имаш въпроси питай


 
---------------------------
Потребител от: 18.04.04 | Всички уроци от Mutatos | Всички скриптове от Mutatos

Търся за почасова надомна работа преводачи от английски език за превод на материали от IT сферата - новини, уроци ...!
напиши eMail напиши лично съобщение виж профила на Mutatos
Публикувано на: 06.07.2008 15:38
Divan
Чирак

Мнения: (5)

Благодаря за отговора !

Мисля че ще ми свърши работа

... Ако ли не - знам кой да питам вече  


 
---------------------------
Потребител от: 11.12.07 | Всички уроци от Divan | Всички скриптове от Divan
напиши eMail напиши лично съобщение виж профила на Divan
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   





IT-PLACE.NET © 2004 - 2008