14. september 2005 - 22:36Der er
25 kommentarer og 1 løsning
oprette billeddata i access database
At hive data ud af en db via ASP er ikke noget probs. Men hvordan tilføjer jeg et billede til en database fra en bestemt mappe. Det er meningen at både de små og store billeder skal befinde sig i db til dette galleri, dvs. når man klikker på det lille vil det skifte over til det selvsamme store.
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Du har vel bare tænkt dig at lægge stien til billedet i databasen, ikk'? Hvis du lægger billeders binære data i databasen, tror jeg du vil fortryde det på sigt - det kommer ikke til at performe særlig godt...
Hvis det bare er stien der skal i databasen, så er det vel et spørgsmål om at oprette to felter, et til det store - og et til det lille billede. Dit billede vises så med et link omkring, hvor linket peget på det store og selve img-elementets src peger på det lille billede.
ja..kan se hvad du mener, for det lykkes mig netop at ligge et billede ind i selve databasen og kunne forstille mig det ville funke lidt slow. Men jeg er ikke helt sikker på om det er fra en sti eller databasen har kopieret selve billedet. aaaah..(sidder med det her)..jeg skal markere "kæde til en fil" når jeg indsætter
Vil lige se om det fungere, vender tilbage. Tak for feedback
hvordan kæder jeg det store billede sammen med det lille, så det bliver et link til det store, når jeg nu trækker hele den første kolone ud på siden(med de små billeder). Skal det redigeres i databasen? Eller hvordan ville du lave det spript?
I min tabel ville jeg lave to felter, et til lille billede og et til stort billede.
I mit udtræk ville begge felter så være tilgængelige for hver række (hvis jeg udvælger alle kolonner i tabellen - altså: SELECT * FROM tabelMedBilleder) og så kunne jeg lave linket som jeg beskrev i mit første post... ligeså mange gange der er rækker i resultatet:
do while not rs.EOF response.write "<a href=""" & rs("stortbillede") & """ target=""_blank""><img src=""" & rs("lillebillede") & """></a><br>"
Takker, men jeg har åbenbart nogen probs med i det heletaget at tilpasse databasen. Det (min egen opsætning af database) vil åbenbart kun trække texten fra hyperlinket ud :)
Jeg oprettede "hyperlink" som datatype for at intet skulle ligge sig i selve databasen. Men skal jeg lave det om til "OLE-objekt"?? Ja det må det jo være....men er det ikke meningen hyperlinket skal trække dataen ud Og under primær nøgle står der autonum... skal det laves om også?
Jeg ville umiddelbart bare gemme stien som en almidelig tekst. Du skal jo ikke bruge det til andet end at sætte det sammen med noget andet tekst (der tilfældigvis bliver til et link på siden, men det er irelevant for datatypen i databasen).
jamn det er jo meningen selve billedet skal trækkes ud. Er det så en nødvenighed at gemme billedfilen i selve databasen? Eller er der en anden måde at gøre det på.
Nu får jeg fejl 500 fordi jeg har lavet det om til OLE-objekt
Hmmm... jeg tror lige vi skal have denne her fra begyndelsen. Altså i din database har du en tabel, lad os kalde den billedeTabel, med (mindst) disse to felter:
stiStortBillede [som er en tekst] stiLilleBillede [som er en tekst]
på din harddisk, f.eks. i /billeder ligger der flg. filer:
lilleBillede.jpg [som er ikonet eller det lille billede] stortBillede.jpg [som er det store billede]
i din kode laver du et udtræk fra databasen med flg. SQL:
SELECT stiLilleBillede, stiStortBillede FROM billedeTabel
dette lægges i et recordset som hedder rs
set rs = conn.execute(DenSQLOvenfor)
og dine billeder udskrives således:
do while not rs.EOF response.write "<a href=""" & rs("stiStortBillede") & " target=""_blank""><img src=""" & rs("stiLilleBillede") & """></a><br>"
rs.MoveNext loop
Data i databasen skal så se således ud (række for række):
takker, det lader til det ikke er så enkelt at trække billeddata ud i forhold til text, men det burde det jo rent logisk være. Jeg vil lige afprøve den kode. Det som definere den mappe som billederne ligger i skal naturligvis stå i "<a href="/BILLEDMAPPE"" Ikke?
Efter at ha´rodet rundt i andre folks koder er jeg så småt ved at fatte logikken i det. Men foretrækker min egen enkle som den du gav her jeg fattede bare ikke hvordan jeg skulle definere billedmappe i >>>response.write "<a href=""" & rs("stiStortBillede") & " target=""_blank""><img src=""" & rs("stiLilleBillede") & """></a><br>"<<<
YES SIR!!!...der kommer noget på skærmen men det er ikke et billede *G* ..men det er fordi den åbenbart ikke fatter billedet ligger i en undermappe "images" Men stien i db ER /images/001.jpg - den fatter jeg ikke lige.
OG når jeg klikker på det vælges der udfra "stiLilleBillede" ..dvs jeg skal bytte om på det ikke? "at spørge dumt" :)
Kunne jo oxo slå op i min programmeringsbog..men nu tager jeg ½ år webprogrammering :) og 2 års MDU.
Du kan godt svare så jeg kan få smidt nogen point afsted. Men hvorfor vælger den udfra http://localhost/images/g001.jpg ..for "images" ligger i en mappe "gal2" ..den mappe skal jeg måske skrive med selvom db ligger i "gal2"
Bruger man i det heletaget ' ..er det afgørende i ASP/php?..sat i forhold til "
1. Hvor siger du dine billeder ligger ifht. localhost? 2. Hvor siger du dit script ligger ifht. localhost? 3. Hvorfor fortæller du databasen at billederne ligger i /images når de rent faktisk ligger i /gal2/images...?
localhost var bare det link jeg kopierede under egenskaber for at se hvor databasen fik "det manglende billede" fra. Siger ikke koden ligger i localhost... koden, images og db ligger i mappen "gal2" på min IIS-server ..hovsa..jeg ser nu hvorfor ..jeg skrev / istedet for \ ..for jeg lavede datatype om til hyperlink istedet for at skrive. Samt havde jeg skrevet de forkerte billeder under forkert kolone :) ..så din kode er skam perfekt. Men gælder det samme \ også på mapperne på en server, out there? hmm..finder jegvel ud af :) Der opstod en 500 fejl på hele severen igår på mit domæne..gad vide om det var min skyld :)
Dine stier skal passe til den server som sitet ligger på. Derfor er det også bedst ikke at lægge sig fast på absolutte stier, da dette kræver ændringer når det lægges på en anden server. Det er dog en lille udfordring til hjernen at finde på en metode som ikke giver nogle problemer overhovedet... :)
Jeg forstår ikke rigtigt at det skulle gøre en forskel på en site "\", det er jo stadig en harddisk jeg ligger filerne på og stadig igennem en db.
når jeg fjerner _blank ..havde jeg nu drømt om at det var muligt at flette billedet(det store) ind i den selvsamme side. Som på denne side http://www.jausthus.dk/ ..hvis du klikker på "maleri"
Er der en smart måde at gøre det på, kan du gennemskue siden. Det var det der ledte mig til dette spørgsmål fra starten af.
Det der sker på jausthus.dk er at siden (i princippet) skifter til en anden side, som er sat op til at vise et billede i midten af siden, dvs. hvis du skal gøre det samme, kan du f.eks. lave en ny side, som du kalder med en parameter. Den parameter skal så identificere hvilket billede der skal vises. (Prøv at se hvad der sker med adressen på jausthus.dk når du klikker på et maleri).
uha... det er ikke lige min baglomme...parametre. Jo en smule men ....dette kan jeg ikke gennemskue
jeg sad og rodede men en andens kode som netop bruger dette princip, som du snakker om der..men den er ikke til at gennemskue da den bruger helt andre måder eller andre benævnelser at hive data frem på. Har lavet en extra fil show.asp, hvad kan jeg skrive i den og hvad skal jeg lave om i min default.asp fil. (jeg ved godt jeg ikke har ansat dig som datamatiker :) ) Men har skam min bog åben også :) uuh..det skær i kontrasten, jeg kan ik bliver mere hvid og du kan ikke blive mere blå*G*
if Request.Querystring("strID")="" then strID="1" else strID=Request.Querystring("strID") end if
strAction1=strID-1 strAction2=strID+1
Set rsDetail=Server.CreateObject("ADODB.Recordset") Set rsTot=Server.CreateObject("ADODB.Recordset") Set rsBestellung=Server.CreateObject("ADODB.Recordset") Set rsAnzahl=Server.CreateObject("ADODB.Recordset")
rsDetail.Open "SELECT * FROM tblIMAGES where FID="&strID,conn,0,3 rsTot.Open "SELECT * FROM abfTotal",conn,0,3 strTotal=rsTot.Fields("Total") rsTot.Close
if rsDetail.Fields("FID")=strTotal then strEnd=true
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.