06. december 2001 - 16:41Der er
37 kommentarer og 1 løsning
Dir til db
Jeg har et dir der hedder IMAGES i dette har jeg en del mapper med store billeder i.
Hvordan kan man gøre sådan at jeg bare skal uploade en mappe med billeder i til IMAGES og så kører en update.asp fil. Herefter laver den automatisk en kategori med det navn mappen har og sætter alle billed navnene ind i databasen ??
nute >> det er ikke upload det er at når jeg via ftp har uploadet en mappe med billeder så skal den lave en kategori med navnet på mappen og sætte alle navnene på billed filerne i mappen ind i databasen
Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"\"\'Din DSN Conn.Open DSN
Set fsoObj = Server.CreateObject(\"Scripting.FilesystemObject\") Set foldObj = fsoObj.getFolder( \"c:\\IMAGES\" ) Set filesObj = foldObj.Files
for each file in filesObj SQL = \"SELECT COUNT(*) AS total FROM tabell WHERE filNavn = \'\" & file.Path & \"\'\" Set RS = Conn.Execute( SQL ) if( RS(\"total\") = \"0\" ) then SQL = \"INSERT INTO * tabell (filNavn) VALUES (\'\" & file.Path & \"\')\" Conn.Execute( SQL ) end if next
tabell ID = Autonummerering kategori = tekst filNavn = tekst
Jeg ville gerne have at navnet på mappen man uploader til images bliver sat ind i
( kategori ) og at alle filnavnene bliver sat ind i ( tabell ).
Jeg prøvede dit script men der sker ikke noget når jeg kører det.
<% response.buffer = true set connect = server.createobject(\"ADODB.Connection\") Connect.open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"db1.mdb\") set rs = connect.execute(\"SELECT * FROM tabel1 WHERE tekst = \" & reques(\"test\") & \" ORDER BY tekst\")
if not rs.EOF then do until rs.EOF
response.write rs(\"id\") & \"-\" & rs(\"tekst\") & \"<br>\" rs.movenext Loop else response.write \"Ingen felter\" end if %>
response.write \"Ny fil: \" & filNavn & \" opprettet i kategori ( \" & kategori & \")<br>\" end if next end if next end Sub %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Til bobbedude ;-)</title> </head>
Nute >> hvor mange point skal du have hvis den skulle laves så man også kunne have sub dir i + en side hvor kategorier og under kategorier vises ?? hvis du altså har tid og gider.
men det jeg har fået af dig nu er bare 100% for sejt det er ULTRA sejt.
det krever litt mer omstendelig koding hvis du skal tillate subkategorier. Jeg har i tilfelle ikke tid til å lage det før i aften, men jeg kan da godt lage det, for det er da en liten utfordring ;-)
nute >> Jeg giver dig 100 ekstra point hvis du gør det. Jeg ved det ikke er penge og at din tid ikke er gratis men det er desværrer alt hvad jeg kan tilbyde dig.
Skal jeg åbne et nyt spørgsmål og kalde det til nute med de 100 ekstra point ?
oki...så kommer det en litt \"forsinket\" oppdatering. Jeg må innrømme at det var litt vanskeligere enn jeg trodde, men det var nok på grunn av at jeg startet galt :-| jeg brukte et par timer på å prøve å løse problemet med feil taktikk og jeg kjørte meg fast i et spor. Så gikk jeg ut i 5 minutter, kom tilbake, startet på nytt og vupti...2o minutter senere var løsningen her :-)
anyway...jeg har gjort en liten endring i databasen...din \'kategori\' tabell skal se sånn ut:
Det første parameteret er hvilken sti du skal starte å hente subfoldere og filer fra, mens det andre parameteret er bare navnet på den folderen alle subfoldere og filer ligger under. jeg kan godt se at det er litt merkelig å gjøre det på denne måten, men nå synes jeg at jeg har brukt litt tid på denne, så jeg vil gjerne ha liit weekend :-)
ellers skal du bare kjøre denne kode, så håper jeg du er fornøyd...
end if redim preserve parentIDArr( UBOUND( parentIDArr ) - 1 ) next end Sub
function findCatName( catPath, index ) catArr = Split( catPath, \"\\\" ) findCatName = catArr( index ) end function
function findCategory( cat ) SQL = \"SELECT * FROM kategori WHERE katNavn = \'\" & cat & \"\' AND parentID = \" & parentIDArr( UBOUND( parentIDArr ) - 1 ) Set RS = Conn.Execute( SQL ) if( RS.BOF ) then findCat = 0 Exit function else findCat = CInt( RS(\"ID\") ) RS.Close set RS = nothing Exit function end if end function
response.write \" Ny fil: \" & filNavn & \" opprettet<br>\" end if next end sub %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html> <head> <title>Til bobbedude ;-)</title> </head>
Nute >> af en eller anden grund sker der noget mærkeligt på min server når jeg kører update.
Jeg har et dir : D:\\Kunder\\netland\\clipart\\IMAGES
Hvis jeg laver en Folder i Mappen IMAGES der hedder Chrismas og i denne laver en folder der hedder Chrismas2 Kommer den første folder til at hede ( der ) og Sub Folderen til at hedde ( netland ).
Hej nute jeg har næsten fået det kategori visning til at køre
<% response.buffer = true set connect = server.createobject(\"ADODB.Connection\") Connect.open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"images.mdb\") Set rs = Connect.Execute(\"SELECT * FROM kategori WHERE parentID = 0\")
if not rs.EOF then do until rs.EOF %> <a href=test.asp?linkid=<%=rs(\"id\")%>> <%=rs(\"id\")%> - <%=rs(\"katnavn\")%></a><br> <%
if Cint(Request.QueryString(\"linkid\")) = rs(\"id\") then
Set rs2 = Connect.Execute(\"SELECT * FROM kategori WHERE parentID = \" & request(\"linkid\") & \"\")
if not rs2.EOF then do until rs2.EOF %> <%=rs2(\"id\")%> - <%=rs2(\"katnavn\")%><br> <% rs2.MoveNext Loop else Response.Write \"Ingen Links i denne kategori!\" end if
end if rs.movenext Loop else response.write \"Ingen felter\" end if %>
Men hvad nu hvis dert ikke er nogen sub kategorier ??
hmmm....jeg ser det er en liten bug i det systemet jeg har postet...jeg er nødt til å skrive litt mer på det. jeg skal også tenke på de ting du har påpeket...
ok nute jeg venter og ser hvad du finder ud af. Husk hvis du vil vil jeg meget gerne smide 100 point mere da jeg er utrolig glad for du gider hjælpe mig !
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.