[SQL] Plaatjes in database
Heerlijk als je het werk van iemand anders moet overnemen.
Ik heb een database van een bedrijf gekregen van een site die ik moet overnemen.
Dat bedrijf is zo slim geweest om plaatjes niet echt plaatjes te maken maar het in de SQL te doen (dus lappen codes).
Is er een manier zodat ik die kan omzetten naar een plaatje?
En ik heb nog een vraag die SQL ziet er in mij ogen niet echt zuiver uit.
Ik heb ook het idee dat het niet echt MySQL is maar meer MS SQL.
Hier een klein stukje code:
Ik heb een database van een bedrijf gekregen van een site die ik moet overnemen.
Dat bedrijf is zo slim geweest om plaatjes niet echt plaatjes te maken maar het in de SQL te doen (dus lappen codes).
Is er een manier zodat ik die kan omzetten naar een plaatje?
En ik heb nog een vraag die SQL ziet er in mij ogen niet echt zuiver uit.
Ik heb ook het idee dat het niet echt MySQL is maar meer MS SQL.
Hier een klein stukje code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'el_gebr')
CREATE USER [el_gebr] FOR LOGIN [el_gebr] WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object: Table [dbo].[faq_antwoord] Script Date: 08/24/2010 11:31:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[faq_antwoord]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[faq_antwoord](
[id] [int] IDENTITY(1,1) NOT NULL,
[faq_vraag] [nvarchar](255) NULL,
[list_faq_categorie] [int] NULL,
[faq_antwoord] [ntext] NULL,
[meta_title] [nvarchar](255) NULL,
[meta_keywords] [nvarchar](255) NULL,
[meta_description] [ntext] NULL,
[volgorde] [int] NULL,
[afbeelding_1] [image] NULL,
[afbeelding_2] [image] NULL,
[afbeelding_3] [image] NULL,
[ct_afbeelding_1] [nvarchar](250) NULL,
[ct_afbeelding_2] [nvarchar](250) NULL,
[ct_afbeelding_3] [nvarchar](250) NULL,
CONSTRAINT [PK_faq_antwoord] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
CREATE USER [el_gebr] FOR LOGIN [el_gebr] WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object: Table [dbo].[faq_antwoord] Script Date: 08/24/2010 11:31:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[faq_antwoord]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[faq_antwoord](
[id] [int] IDENTITY(1,1) NOT NULL,
[faq_vraag] [nvarchar](255) NULL,
[list_faq_categorie] [int] NULL,
[faq_antwoord] [ntext] NULL,
[meta_title] [nvarchar](255) NULL,
[meta_keywords] [nvarchar](255) NULL,
[meta_description] [ntext] NULL,
[volgorde] [int] NULL,
[afbeelding_1] [image] NULL,
[afbeelding_2] [image] NULL,
[afbeelding_3] [image] NULL,
[ct_afbeelding_1] [nvarchar](250) NULL,
[ct_afbeelding_2] [nvarchar](250) NULL,
[ct_afbeelding_3] [nvarchar](250) NULL,
CONSTRAINT [PK_faq_antwoord] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
Gesponsorde koppelingen:
Dat bedrijf is zo slim geweest om plaatjes niet echt plaatjes te maken maar het in de SQL te doen (dus lappen codes)
Wat bedoel je daarmee, "niet echt plaatjes" ??
Wat bedoel je daarmee, "niet echt plaatjes" ??
Er zijn geen plaatjes.
Er is een SQL code die de plaatjes maakt (dus de plaatjes zijn niet als bestand maar als sql)
Er is een SQL code die de plaatjes maakt (dus de plaatjes zijn niet als bestand maar als sql)
Er zijn natuurlijk wel plaatjes maar de plaatjes zitten dus gewoon in de database. Is dat een goeie omschrijving?? Als je de plaatjes liever op het filesysteem hebt dan is het een kwestie van een klein stukje SQL, je haalt een plaatje en de naam op uit de database en schrijft dit weg als een file en dat in een loopje voor alle plaatjes. Je moet je afvragen of zo'n conversie de moeite waard is, is er nou echt zoveel meer code voor nodig om een plaatje in de database te verwerken dan dat het op het filesysteem staat? De ontwikkelaar die dit gemaakt heeft heeft dit vast niet gedaan om lappen sql te schrijven....
http://phphulp.pastebin.com/uBKZgCxr
Dat is 1 record van een plaatje.
Er zijn ±80 plaatjes...
Geloof me een database voor een simpele site is geen 110 MB.
Met plaatjes zeker wel.
Dat is 1 record van een plaatje.
Er zijn ±80 plaatjes...
Geloof me een database voor een simpele site is geen 110 MB.
Met plaatjes zeker wel.
Hmmm, okee. Het plaatje is niet als BLOB opgeslagen helaas maar het is in een MIME oid formaat vertaald en opgeslagen. Dat moet je bij ophalen dus terugcoderen. Verder denk ik aan de SQL te zien dat het opgeslagen is in een Micro$oft SQL server database.
Edit:
Vergeet de eerste zin, het is gewoon toch wel als image opgeslagen zo te zien aan het veld/attribuut: [faq_afbeelding] [image]. Je moet dus met SQL plaatje ophalen en opslaan op het filesysteem. Dan heb je het plaatje weer terug. Je kan ook gewoon met je browser het plaatje ophalen en rechtermuistoets save-as. Voor slechts 80 plaatjes is dat te doen, zeg iets minder dan 1 minuut per plaatje ben je in een uur klaar. Werkende SQL server SQL + PHP schrijven kost meer tijd....
Vergeet de eerste zin, het is gewoon toch wel als image opgeslagen zo te zien aan het veld/attribuut: [faq_afbeelding] [image]. Je moet dus met SQL plaatje ophalen en opslaan op het filesysteem. Dan heb je het plaatje weer terug. Je kan ook gewoon met je browser het plaatje ophalen en rechtermuistoets save-as. Voor slechts 80 plaatjes is dat te doen, zeg iets minder dan 1 minuut per plaatje ben je in een uur klaar. Werkende SQL server SQL + PHP schrijven kost meer tijd....
Gewijzigd op 26/08/2010 14:46:10 door John D
Is er een manier dat ik Micro$oft SQL naar MySQL kan overzetten?
Waarom haal je niet gewoon alle plaatjes uit de database, laat je ze renderen, en sla je ze vervolgens op? Als ze nu in een database zitten, zullen ze vast wel ergens worden getoond lijkt me?
Ja op de oude site..
Op de oude site: www.oudesite.nl/plaatje1 -> rechtermuistoets -> save as enzovoort....
Op rendergebied ben ik een newbee: Wat is "renderen" ??
Op rendergebied ben ik een newbee: Wat is "renderen" ??
Gewijzigd op 26/08/2010 16:04:01 door John D
Renderen is het "bouwen" van een plaatje. De data die in de database staat, wordt "gerenderd" (gemaakt) door een PHP script ;-)
Loran, dus alle plaatjes van de oude site opslaan, en vervolgens kun je de locatie opslaan in een database. Die gebruik je dan als koppeltabel voor bijvoorbeeld producten (?). Dus wanneer je een product ophaalt, haal je uit de database de locatie op, van het plaatje wat bij die product hoort..
Loran, dus alle plaatjes van de oude site opslaan, en vervolgens kun je de locatie opslaan in een database. Die gebruik je dan als koppeltabel voor bijvoorbeeld producten (?). Dus wanneer je een product ophaalt, haal je uit de database de locatie op, van het plaatje wat bij die product hoort..
@CHRIS: Thanks voor de toelichting.



