Versio

[SQL] Plaatjes in database

Overzicht Reageren

ILoran punt NL

iLoran punt NL

26/08/2010 14:08:28
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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
 
PHP hulp

PHP hulp

25/05/2012 18:29:09
Gesponsorde koppelingen:
 
John D

John D

26/08/2010 14:14:45
Quote Anchor link
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" ??
 
ILoran punt NL

iLoran punt NL

26/08/2010 14:16:51
Quote Anchor link
Er zijn geen plaatjes.
Er is een SQL code die de plaatjes maakt (dus de plaatjes zijn niet als bestand maar als sql)
 
John D

John D

26/08/2010 14:21:31
Quote Anchor link
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....
 
ILoran punt NL

iLoran punt NL

26/08/2010 14:27:06
Quote Anchor link
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.
 
John D

John D

26/08/2010 14:39:32
Quote Anchor link
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....
Gewijzigd op 26/08/2010 14:46:10 door John D
 
ILoran punt NL

iLoran punt NL

26/08/2010 15:17:53
Quote Anchor link
Is er een manier dat ik Micro$oft SQL naar MySQL kan overzetten?
 
Chris
Beheerder

Chris

26/08/2010 15:20:23
Quote Anchor link
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?
 
ILoran punt NL

iLoran punt NL

26/08/2010 15:21:53
Quote Anchor link
Ja op de oude site..
 
John D

John D

26/08/2010 16:03:24
Quote Anchor link
Op de oude site: www.oudesite.nl/plaatje1 -> rechtermuistoets -> save as enzovoort....
Op rendergebied ben ik een newbee: Wat is "renderen" ??
Gewijzigd op 26/08/2010 16:04:01 door John D
 
Chris
Beheerder

Chris

26/08/2010 16:15:25
Quote Anchor link
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..
 
John D

John D

26/08/2010 16:22:45
Quote Anchor link
@CHRIS: Thanks voor de toelichting.
 



Overzicht Reageren

Get Adobe Flash player