Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Paginazione file

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260

    Paginazione file

    ciao a tutti, volevo un suggerimento per visualizzare un certo numero di righe, in poche parole i dati non provengono da database ma sono fso, sono le cartelle presenti sul server, e tramite un response.write in un ciclo mi faccio creare una tr per ogni file.
    Come posso fare per visualizzare solo un certo numero di file e dopo di che creare i collegamenti a pag1,pag2...
    grazie in anticipo

  2. #2
    codice:
    <%
    path = "20080202"
    if right(path,1) <> "/" then path = path & "/"
    pathMapped = server.mapPath(path)
    
    page = request.queryString("page")
    if len(page) > 0 then 
    	page = cLng(page)
    else
    	page = 1
    end if
    
    dim filesList()
    filesPerPage = 10
    cnt = 0
    
    set fso = server.createObject("Scripting.FileSystemObject")
    set folder = fso.getFolder(pathMapped)
    set files = folder.files	
    	for each file in files
    		reDim preserve filesList(cnt)
    		filesList(cnt) = file.name
    		cnt = cnt + 1
    	next
    set files = nothing
    set folder = nothing
    set fso = nothing
    
    totalFiles = uBound(filesList) + 1
    totalPages = int(totalFiles / filesPerPage)
    temp = totalPages * filesPerPage
    if (totalFiles - temp) > 0 then totalPages = totalPages + 1
    
    	response.write "Pagine: "
    	for p = 1 to totalPages
    		if p = page then
    			response.write p & " "
    		else
    			response.write "" & p & " "
    		end if
    	next
    	
    	response.write "<hr />"
    	
    	i = (page * filesPerPage) - filesPerPage	
    	
    	loops = 0
    	response.write "<ul>"
    	response.write "[*]Elenco file della cartella '" & path & "'.
    "
    	response.write "File Totali: " & totalFiles & "
    "
    	response.write "Pagina " & page & "/" & totalPages
    	response.write "<ul>"
    	for f = i to uBound(filesList)
    		if loops = filesPerPage then exit for
    		response.write "[*]" & filesList(f) & ""
    		loops = loops + 1
    	next
    	response.write "[/list]"
    	response.write "[/list]"
    	
    	response.write "<hr />"
    	
    	response.write "Pagine: "
    	for p = 1 to totalPages
    		if p = page then
    			response.write p & " "
    		else
    			response.write "" & p & " "
    		end if
    	next
    %>

  3. #3
    Versione aggiornata:
    codice:
    <%
    path = "20080202"
    pathMapped = server.mapPath(path)
    if right(path,1) <> "/" then path = path & "/"
    
    page = request.queryString("page")
    if len(page) > 0 then 
    	page = cLng(page)
    else
    	page = 1
    end if
    
    dim filesList()
    filesPerPage = 10
    cnt = 0
    
    function getFileProperties(theFile, theProperty)
    	set theFso = server.createObject("Scripting.FileSystemObject")
    		set theFile = theFso.getFile(theFile)
    			select case theProperty
    				case "DateCreated"
    				getFileProperties = theFile.DateCreated
    				case "DateLastAccess"
    				getFileProperties = theFile.DateLastAccess
    				case "DateLastModified"
    				getFileProperties = theFile.DateLastModified
    				case "Drive"
    				getFileProperties = theFile.Drive
    				case "Name"
    				getFileProperties = theFile.Name
    				case "ParentFolder"
    				getFileProperties = theFile.ParentFolder
    				case "Path"
    				getFileProperties = theFile.Path
    				case "ShortName"
    				getFileProperties = theFile.ShortName
    				case "Size"
    				getFileProperties = theFile.Size
    				case "Type"
    				getFileProperties = theFile.Type
    			end select
    		set theFile = nothing
    	set theFso = nothing
    end function
    
    set fso = server.createObject("Scripting.FileSystemObject")
    set folder = fso.getFolder(pathMapped)
    set files = folder.files	
    	for each file in files
    		reDim preserve filesList(cnt)
    		filesList(cnt) = file.name
    		cnt = cnt + 1
    	next
    set files = nothing
    set folder = nothing
    set fso = nothing
    
    totalFiles = uBound(filesList) + 1
    totalPages = int(totalFiles / filesPerPage)
    temp = totalPages * filesPerPage
    if (totalFiles - temp) > 0 then totalPages = totalPages + 1
    
    	response.write "Pagine: "
    	for p = 1 to totalPages
    		if p = page then
    			response.write p & " "
    		else
    			response.write "" & p & " "
    		end if
    	next
    	
    	response.write "<hr />"
    	
    	i = (page * filesPerPage) - filesPerPage	
    	
    	loops = 0
    	response.write "<ul>"
    	response.write "[*]Elenco file della cartella '" & path & "'.
    "
    	response.write "File Totali: " & totalFiles & "
    "
    	response.write "Pagina " & page & "/" & totalPages
    	response.write "<ul>"
    	for f = i to uBound(filesList)
    		if loops = filesPerPage then exit for
    		response.write "[*]" & filesList(f) & "
    "
    		response.write "Data di creazione: " & getFileProperties(pathMapped & "\" & filesList(f), "DateCreated") & "
    "
    		response.write "Data ultima modifica: " & getFileProperties(pathMapped & "\" & filesList(f), "DateLastModified") & "
    "
    		response.write "Dimensione del file: " & getFileProperties(pathMapped & "\" & filesList(f), "Size") & " byte
    "
    		response.write "Tipo di file: " & getFileProperties(pathMapped & "\" & filesList(f), "Type") & "
    "
    		response.write ""
    		loops = loops + 1
    	next
    	response.write "[/list]"
    	response.write "[/list]"
    	
    	response.write "<hr />"
    	
    	response.write "Pagine: "
    	for p = 1 to totalPages
    		if p = page then
    			response.write p & " "
    		else
    			response.write "" & p & " "
    		end if
    	next
    %>

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    ciao mems grazie per l'aiuto ma sono un po in alto mare!
    codice:
    <%
    			page = request.queryString("page")
    			if len(page) > 0 then 
    			page = cLng(page)
    			else
    			page = 1
    			end if
    			
    			dim filesList()
    			filesPerPage = 2
    			cnt = 0
    %>
    <table class="contenuti">
    <%
    	set oggetto=Request.QueryString
    	set fs = CreateObject("Scripting.FileSystemObject")
        set folder = fs.GetFolder(Server.MapPath("\public\news\" & oggetto & "\"))
        for each subf in folder.SubFolders
    	set folder1 = fs.GetFolder(Server.MapPath("\public\news\" & oggetto & "\" & subf.Name & "\immagini_grandi\"))
    				
    			reDim preserve filesList(cnt)
    			filesList(cnt) = subf.Name
    			cnt = cnt + 1		
    			totalFiles = uBound(filesList) + 1
    			totalPages = int(totalFiles / filesPerPage)
    			temp = totalPages * filesPerPage
    			if (totalFiles - temp) > 0 then totalPages = totalPages + 1
    			i = (page * filesPerPage) - filesPerPage
    %>		
    <tr bgcolor="<%=bgcol%>">
    		<td class="icon">[img]images\icon_txt.gif[/img]</td>
    
    		<td class="icon">
    			<%if folder1.Files.Count >0 then%>
    				[img]images\icon_img.gif[/img]
    				<%else%>
    				
    			<%end if%>
    		</td>
    		<td class="titolo_comunicato">
    		<%	
    			set act = fs.opentextfile(Server.MapPath("\public\news\" & oggetto & "\" & subf.Name & "\titolo.txt"))
    			read_text = act.readline
    			read_text =server.htmlencode(read_text) 	
    			if len(read_text)>30 then
    			  link=left(read_text,30)  & "..."
    			else
    			  link=read_text
    			end if
    			response.write "" & link & ""
    			act.close
    			Set act = Nothing
    		%>
    		</td>
    		
    		<td><%if DateDiff("d",folder.DateCreated,Now())<10 then%>
    					new
    			<%else%>
    					
    			<%end if%>
    		</td>
    
    </tr>
    <%Next%>
    </table>
    <%
    	for p = 1 to totalPages
    		if p = page then
    			response.write p & " "
    		else
    			response.write "" & p & " "
    		end if
    	next
    
    
    %>
    Diciamo che il conteggio delle pagine in base al numero di file è corretto, ma non riesco a trovare il modo per visualizzare le righe secondo quanto settato, infatti mi visualizza tutte le cartelle e poi i numeri di pagina!

  5. #5
    Che problema hai?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    che la paginazione non funziona!
    mi visualizza 123... in modo corretto, ma i file me li elenca tutti, non me ne visualizza ad esempio 5 se setto filesPerPage = 5, mi fa tutto l'elenco come se non ci fosse paginazione.
    Sarà un errore idiota ma non riesco ad uscirne!

  7. #7
    Forse non hai saputo adattare il mio esempio.
    A me l'esempio funziona alla grande.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    non lo metto in dubbio, probabilmente sbaglio proprio nel momento in cui vado a visualizzare i file o le cartelle che siano, sarà un errore nel ciclo, se hai suggerimenti ti ringrazio in anticipo

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    260
    up!

  10. #10
    grazie... io l'ho usato con successo e soddisfazione!
    ;-)
    Fibbie per cinture western/biker: www.bucklestore.it | Gemelli da polso per camicie: www.gemellilecuff.it | Portafortuna fatti a mano da regalo: www.laky.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.