11. november 2006 - 21:57
Der er
32 kommentarer og 1 løsning
Billeder i mappe, billedtekst i MySQL-database
Hvordan laver jeg det, så jeg kan køre alle thumbnails gennem en løkke og hente billedtekst ud til hver enkel/t thumbnail/billede? Databasen er MySQL.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
12. november 2006 - 01:37
#2
Scriptet du linker til, er et upload script, der uploader et billede (sjovt nok)..
Du skal gemme teksten, der hvor det går går.. nemlig her:
If objImage.SaveImage Then
' Det lykkedes at gemme det nye billede,
' så lad os vise det ...
' ---------------- GEM TEKST I DATABASE
Response.Write "<img src=""" & strNytBillede & """><br>"
Else
Til det skal du bruge lektionerne 11 og 20 (17-22) på
http://www.html.dk/tutorials/asp/
12. november 2006 - 17:43
#3
Det er et upload-script? Jeg har prøvet det af, og det skalerer billedet fint. Har dog fået at vide, at det er gammelt, til ASPImage v1.0. If objImage.SaveImage Then er, som jeg forstår det, når man gemmer den skalerede thumbnail. Eller hva'? :o)
12. november 2006 - 23:53
#4
thesurfer, det blev jeg ikke klogere på, håber du kan nå at hjælpe :o/
http://www.futte.dk/asp/codesamples/showcode.asp?id=21 er et script til at skalere billeder med. Det kan godt være, at der er et upload-script i
If objImage.SaveImage Then
Men såvidt jeg kan se, bruges den linie til gemme denne thumbnail i formatet JPG, PNG eller GIF?
Enten skal jeg kopiere billedet over i mappen mauelt, eller også skal jeg jeg "indbygge" noget fileupload med <input type="file">. Det er så én sag. Men jeg kan ud fra dette ikke se hvordan jeg skal kunne gemme billedtekst med tilknytning til et bestemt billede i databasen, og bagefter køre det gennem en løkke, så alle billeder trækkes ud på den side, som brugeren skal se. Håber virkelig du kan hjælpe :o)
PS: Jeg vil lige prøve at lave en formular, som gemmer billedteksten i DB.
13. november 2006 - 00:41
#5
Mon denne kan gøre det? <% If Request.Form("mode") = "addtext" Then SQL = "INSERT INTO sspics (catID, photographersname, nameofpic, attachtexttopic) VALUES (" & _ "'" & Trim(SQLEncode(Request.Form("catID"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("photographersname"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("nameofpic"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("attachtexttopic"))) & "')" Conn.Execute SQL Conn.Close Response.Redirect "default.asp?msg=Linket+er+oprettet." %> <html> <head> <!-- #include virtual="/includes/_header.asp" --> <link rel="stylesheet" type="text/css" href="/includes/style.css"> <title>fun lukket</title> </head> <body> <form name="frmUser" action="default.asp" method="post"> <input type="hidden" name="mode" value="addtext"> <select size="1" name="catID" id="catID"> <option>Vælg kategori</option> <option value="1">Hus</option> <option value="2">Have</option> <option value="3">Stue</option> <option value="4">Spisestue</option> <option value="5">Kontor</option> <option value="6">Soveværelse</option> <option value="7">Bad og toilet</option> <option value="8">Køkken</option> </select> Fotograf:<br> <input type="text" name="photographersname"> Billednavn:<br> <input type="text" name="nameofpic"> Billedtekst:<br> <input type="text" name="attachtexttopic"><br><br> <input type="submit" value="Opret"> </form> </body> </html> Database (MySQL): picID, tinyint(3), Null: No, Extra: auto_increment, primary key catID, tinyint(2), Null: No, Default: 0 photographersname, varchar(30), Null: No nameofpic, varchar(20), Null: No attachtexttopic, varchar(255), Null: No
13. november 2006 - 00:46
#6
Ok, der mangler en End If øverst, men ud over det burde den være der?
13. november 2006 - 01:34
#7
Det er vist mig der ikke var helt vågen, da jeg skrev at det var et upload-script.. :-) Der skal ikke '-tegn udenom catId her: "'" & Trim(SQLEncode(Request.Form("catID"))) & "', " & _ Viser du samtlige thumbnails på samme tid, eller 1 thumbnail ad gangen?
13. november 2006 - 01:41
#8
Hvis du viser 1 bilede af gangen, kan du bruge noget der ligner denne SQL sætning: select attachtexttopic from sspics where nameofpic '" & billede_navn & "'" response.write rs("attachtexttopic") ' udskriver teksten til billedet med navnet i variablen "billede_navn" Hvis du viser mange billeder ad gangen: 1) kan du hive samtlige beskrivelser + nameofpic over i nogle arrays 2) kan du danne en kommasepararet liste med filnavne ("'filnavn1','filnavn2'"), som den skal hente beskrivelser på, og derefter danne en SQL sætningen der ligner denne: select nameofpic, attachtexttopic from sspics where nameofpic in ('" & liste & "')"
14. november 2006 - 08:07
#9
Hej surfer :o) 13/11-2006 01:34:22 Jeg prøver at fjerne ' rundt om catID: "" & Trim(SQLEncode(Request.Form("catID"))) & ", " & _ Jeg skal (senere) have lavet paging, så der vises 10-15 thumbnails ad gangen. Billedtekst til højre, thumbnail til venstre, som så skal være linket til det oprindelige billede. 13/11-2006 01:41:23 Den vil jeg lege lidt mere med i aften. Det skal jo være nr. 2 :o) Foreløbigt - og det er kun foreløbigt - ser det sådan her ud. Ser det fornuftigt ud (kommer ind i en tabel senere)? <!-- #include virtual="/includes/_data.asp" --> <!-- #include virtual="/includes/dbconnopen.asp" --> <% If Request.Form("mode") = "addtext" Then SQL = "INSERT INTO sspics (catID, nameofphotographer, nameofpic, pictext) VALUES (" & _ "" & Trim(SQLEncode(Request.Form("catID"))) & ", " & _ "'" & Trim(SQLEncode(Request.Form("nameofphotographer"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("nameofpic"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("pictext"))) & "')" Conn.Execute SQL Conn.Close Response.Redirect "default.asp?msg=Thumb+er+oprettet." End If %> <html> <head> <!-- #include virtual="/includes/_header.asp" --> <link rel="stylesheet" type="text/css" href="/includes/style.css"> <title></title> </head> <body> <form name="frmUser" action="default.asp" method="post"> <input type="hidden" name="mode" value="addtext"> <select size="1" name="catID" id="catID"> <option>Vælg kategori</option> <option value="1">Hus</option> <option value="2">Have</option> <option value="3">Stue</option> <option value="4">Spisestue</option> <option value="5">Kontor</option> <option value="6">Soveværelse</option> <option value="7">Bad og toilet</option> <option value="8">Køkken</option> </select><br> Fotograf:<br> <input type="text" name="nameofphotographer"><br><br> Billednavn:<br> <input type="text" name="nameofpic"><br><br> Billedtekst:<br> <input type="text" name="pictext"><br><br> <input type="submit" value="Opret"> </form> </body> </html> <!-- #include virtual="/includes/dbconnclose.asp" -->
18. november 2006 - 14:41
#10
Jeg kan se at spørgsmålet ikke er afsluttet endnu, så jeg går ud fra at problemet ikke helt er løst.. Hvad mangler der?
18. november 2006 - 15:46
#11
Hej surfer Der mangler egentlig det hele. Nu har jeg ikke haft så meget tid i denne uge, men det ovenstående virker ikke helt. Kan du umiddelbart se hvor det går galt?
18. november 2006 - 15:54
#12
PS: Den inkluderede fil i bunden ER fjernet.
18. november 2006 - 22:01
#13
Nogen bud? :o/
20. november 2006 - 08:37
#14
Jeg vil kigge på det, men kan ikke love at det bliver i dag.. måske i aften..
20. november 2006 - 16:53
#15
Jeg håber :o)
21. november 2006 - 09:23
#16
Sådan som jeg ser det, indtaster du noget tekst (navnet på fotografen, navnet på billede, beskrivelse af billedet) og vælger hvilken kategori dataene skal associeres med.
Derefter sendes dataene til default.asp, hvor de indsættes i databasen.
Jeg går ud fra, at du i nærheden af insert-koden, har kode der laver et thumbnail ("objImage.SaveImage")..
Jeg har faktisk løst et ligende projekt/problem (billeder i mapper med "forrige/næste billede") her:
http://www.eksperten.dk/spm/743110 Jeg vil se om jeg kan få tid til at kigge på det, engang i dag.. det blev ikke til til meget it i går..
21. november 2006 - 17:09
#17
* I 18/11-2006 15:46:50 skriver du "ovenstående virker ikke helt".. Hvilke fejl får du / Hvad virker ikke? * Jeg går ud fra at "SQLEncode" bare er en funktion du har tilføjet, der returner noget i stil med replace(streng, "'", "''").. ?
21. november 2006 - 18:09
#18
Hej surfer
Jeg starter helt fra scratch, så jeg har virkelig ikke noget brugbart.
Ja, jeg skal angive
1. kategori (8 stk. at vælge imellem)
2. Fotografens navn
3. Navnet på billedet
4. Billedteksten
Ud fra kategorien defineres stiangivelsen (kun en tanke). Stiangivelsen skal, som jeg ser det, først bruges, når der skal trækkes data ud af databasen.
Jeg starter som sagt helt fra bunden, og har ikke noget færdigt skaleringsscript endnu, prøv evt. at se
http://www.eksperten.dk/spm/744222 , som jeg endnu heller ikke har fået styr på. Billederne skal vel også først skaleres, når der trækkes data ud fra databasen.
Så dét jeg indtil videre mangler, er faktisk det hele:
Gem fotograf, billedtekst m.m. i DB.
Upload-formular til billeder (<input type="tekst" ....?>)
Udtræk af billeder, tekst m.m. i en løkke
Paging
Paging er ikke så væsentligt endnu, den kan sagtens vente. Er det en større historie, eller har du meget rutine i den slags opgaver? Alt hvad du gider bidrage med, vil gøre mig meget glad - også selvom du ikke har tid/lyst til det hele.
Jeg vil lige tage mig tid til at få den simple formular til at virke senere i aften, og jeg vil prøve at se, om ikke din anden opgave på
http://www.eksperten.dk/spm/743110 kan kaste lidt lys over sagen. Håber vi snakkes :o)
21. november 2006 - 19:39
#19
Det virker nu, nu gemmes det i DB. Jeg har en fornemmelse af, at jeg har glemt noget, men er det tilfældet, tilføjer jeg det senere :o) 21/11-2006 17:09:43 [* Jeg går ud fra at "SQLEncode" bare er en funktion du har tilføjet, der returner noget i stil med replace(streng, "'", "''").. ?] Det har du ret i :o) Function SQLEncode(strSQL) SQLEncode = Replace(strSQL,"'","''") End Function
23. november 2006 - 15:09
#21
Ok, det var nu ikke meningen, for det er små brudstykker, der driller.
Alt hvad der skal gemmes i DB, er på plads. Jeg prøver i
http://www.eksperten.dk/spm/744222 at få på plads hvordan det virker. Ud fra det svar, som er givet, kan jeg ikke se, at det skulle virke.
At hive det ud gennem en løkke burde heller ikke volde problemer, men de små problemer, som det utvivlsomt vil give, havde jeg så håbet på at kunne få løst her igennem.
At jeg skriver at jeg mangler alt, var kunt ment på den måde, at jeg ikke var nået til det endnu. Ikke at du eller andre skulle lave det hele. Men hvis det er dér spørgsmålet skal ligge, må jeg hellere få flyttet det :o)
23. november 2006 - 15:19
#22
Så skal du bare have delt projektet op i bidder.. Du kunne evt kigge i de allerede besvarede spørgsmål, i ASP kategorien.. For alle punkterne har været løst før..
23. november 2006 - 15:32
#23
Jeg synes nu ikke jeg har set så meget til ASPImage, men det er måske fordi jeg ikke har kigget det ordentligt igennem. Kigger lige på dit link ...
26. november 2006 - 20:32
#24
Den er en kende kringlet synes jeg, har ikke lige haft overskud til at gennemgå alle indlæggene :o/ Til gengæld har jeg så prøvet at vende den om, så jeg startede med uploadformularen til billedet, og det fungerer ganske fint: UPLOAD.ASP: <form method="post" action="uploadfile.asp" enctype="multipart/form-data"> <input type="file" name="fileupload"><br> <input type="submit" value="upload" name="upload"> </form> UPLOADFILE.ASP: <% Dim mySmartUpload Dim IntCount Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") mySmartUpload.Upload intCount = mySmartUpload.Save("C:\...........\pics\") Response.Write(intCount & " fil(er) uploadet.") %> Men enctype="multipart/form-data" synes at skulle bruges til binære filer? Hvordan kan jeg kombinere det med min oprindelige formular? <!-- #include virtual="/includes/_data.asp" --> <!-- #include virtual="/includes/_functions.asp" --> <!-- #include virtual="/includes/dbconnopen.asp" --> <% If Request.Form("mode") = "addpic" Then 'Dim strURL, mySmartUpload, IntCount If Request.Form("catID") = 1 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 2 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 3 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 4 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 5 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 6 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 7 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 8 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 9 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 10 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 11 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 12 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 13 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 14 Then strURL = "C:\.........\" ElseIf Request.Form("catID") = 15 Then strURL = "C:\.........\" End If 'Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") 'mySmartUpload.Upload 'intCount = mySmartUpload.Save("C:\...........") 'Response.Write(intCount & " fil(er) uploadet.") 'SQL = "INSERT INTO sspics (catID, strURL, photographer, nameofpic, pictext) VALUES (" & _ SQL = "INSERT INTO sspics (catID, photographer, nameofpic, pictext) VALUES (" & _ "" & Trim(SQLEncode(Request.Form("catID"))) & ", " & _ '*******"'" & strURL & "', " & _ "'" & Trim(SQLEncode(Request.Form("photographer"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("nameofpic"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("pictext"))) & "')" Conn.Execute SQL Conn.Close Response.Redirect "default.asp?msg=Billedet+er+oprettet." 'Response.Redirect "uploadfile.asp" End If %> <html> <head> <!-- #include virtual="/includes/_header.asp" --> <title></title> </head> <body onload="funClock();"> <div id="uret"></div> <%'<form method="post" action="uploadfile.asp" enctype="multipart/form-data">%> <form name="frmUser" action="default.asp" method="post"> <input type="hidden" name="mode" value="addpic"> <select size="1" name="catID" id="catID"> <option>Vælg kategori</option> <option value="1">......</option> <option value="2">......</option> <option value="3">......</option> <option value="4">......</option> <option value="5">......</option> <option value="6">......</option> <option value="7">......</option> <option value="8">......</option> <option value="9">......</option> <option value="10">......</option> <option value="12">......</option> <option value="13">......</option> <option value="11">......</option> <option value="14">......</option> <option value="15">......</option> </select><br> Fotograf:<br> <input type="text" name="photographer"><br><br> Billednavn:<br> <input type="text" name="nameofpic"><br><br> Billedtekst:<br> <input type="text" name="pictext"><br><br> <input type="submit" value="Opret"> </form> </body> </html> Det blev en kende rodet, håber du kan se det. Ellers skal jeg nok fjerne unødvendige linier :o)
26. november 2006 - 20:33
#25
<!-- #include virtual="/includes/_data.asp" --> <!-- #include virtual="/includes/_functions.asp" --> <!-- #include virtual="/includes/dbconnopen.asp" --> <% If Request.Form("mode") = "addpic" Then SQL = "INSERT INTO sspics (catID, photographer, nameofpic, pictext) VALUES (" & _ "" & Trim(SQLEncode(Request.Form("catID"))) & ", " & _ "'" & Trim(SQLEncode(Request.Form("photographer"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("nameofpic"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("pictext"))) & "')" Conn.Execute SQL Conn.Close Response.Redirect "default.asp?msg=Billedet+er+oprettet." End If %> <html> <head> <!-- #include virtual="/includes/_header.asp" --> <title></title> </head> <body onload="funClock();"> <div id="uret"></div> <form name="frmUser" action="default.asp" method="post"> <input type="hidden" name="mode" value="addpic"> <select size="1" name="catID" id="catID"> <option>Vælg kategori</option> <option value="1">......</option> <option value="2">......</option> <option value="3">......</option> <option value="4">......</option> <option value="5">......</option> <option value="6">......</option> <option value="7">......</option> <option value="8">......</option> <option value="9">......</option> <option value="10">......</option> <option value="12">......</option> <option value="13">......</option> <option value="11">......</option> <option value="14">......</option> <option value="15">......</option> </select><br> Fotograf:<br> <input type="text" name="photographer"><br><br> Billednavn:<br> <input type="text" name="nameofpic"><br><br> Billedtekst:<br> <input type="text" name="pictext"><br><br> <input type="submit" value="Opret"> </form> </body> </html>
26. november 2006 - 20:35
#26
PS: Komponenten er aspSmartUpload
26. november 2006 - 20:38
#27
Én gang til: DEFAULT.ASP (min oprindelige formular): <!-- #include virtual="/includes/_data.asp" --> <!-- #include virtual="/includes/_functions.asp" --> <!-- #include virtual="/includes/dbconnopen.asp" --> <% If Request.Form("mode") = "addpic" Then SQL = "INSERT INTO sspics (catID, photographer, nameofpic, pictext) VALUES (" & _ "" & Trim(SQLEncode(Request.Form("catID"))) & ", " & _ "'" & Trim(SQLEncode(Request.Form("photographer"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("nameofpic"))) & "', " & _ "'" & Trim(SQLEncode(Request.Form("pictext"))) & "')" Conn.Execute SQL Conn.Close Response.Redirect "default.asp?msg=Billedet+er+oprettet." End If %> <html> <head> <!-- #include virtual="/includes/_header.asp" --> <title></title> </head> <body onload="funClock();"> <div id="uret"></div> <form name="frmUser" action="default.asp" method="post"> <input type="hidden" name="mode" value="addpic"> <select size="1" name="catID" id="catID"> <option>Vælg kategori</option> <option value="1">......</option> <option value="2">......</option> <option value="3">......</option> <option value="4">......</option> <option value="5">......</option> <option value="6">......</option> <option value="7">......</option> <option value="8">......</option> <option value="9">......</option> <option value="10">......</option> <option value="12">......</option> <option value="13">......</option> <option value="11">......</option> <option value="14">......</option> <option value="15">......</option> </select><br> Fotograf:<br> <input type="text" name="photographer"><br><br> Billednavn:<br> <input type="text" name="nameofpic"><br><br> Billedtekst:<br> <input type="text" name="pictext"><br><br> <input type="submit" value="Opret"> </form> </body> </html>
26. november 2006 - 20:39
#28
Disse 2 sider kan sagtens uploade billedet, men jeg kan ikke kombinere de to forskellige typer af formularer: UPLOAD.ASP: <form method="post" action="uploadfile.asp" enctype="multipart/form-data"> <input type="file" name="fileupload"><br> <input type="submit" value="upload" name="upload"> </form> UPLOADFILE.ASP: <% Dim mySmartUpload Dim IntCount Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload") mySmartUpload.Upload intCount = mySmartUpload.Save("C:\...........\pics\") Response.Write(intCount & " fil(er) uploadet.") %>
26. november 2006 - 23:33
#29
Jeg håber virkelig du kan/vil hjælpe. Snakkes :o)
27. november 2006 - 18:18
#30
Jeg skal prøve at kigge på det.. men kan ikke love noget..
27. november 2006 - 21:42
#31
Hvis du kan nå det, er det fedt. Hvis ikke, er det selvfølgelig 10-4 :o) Jeg går ud fra, at der skal noget FSO til?
16. december 2006 - 21:05
#32
thesurfer, jeg lukker spm. Jeg vender tilbage med noget til opgavekategorien senere. Men ellers tak for hjælpen :o)
16. december 2006 - 22:34
#33
Helt iorden.. Held og lykke med projektet..
Kurser inden for grundlæggende programmering