Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262

    [FPDF] Come adattare una tabella che preleva dati da un DB?

    Salve a tutti.
    Come da oggetto ho una pagina .asp che contiene una tabella in cui vengono riportati dati prelevati da un DB a seconda della richiesta dell'utente. Premetto che ho letto molto materiale sulla classe FPDF compresi i post di questo forum, il manuale e il link di google ma poco ci ho capito. Inoltre gli esempi che trovo sul sito del coder sono in PHP che sconosco.
    Chi può mi aiuta ? gRazie
    Per chiarezza posto il codice della mia pagina:
    codice:
    <%
    
    
    fondo = request("fondo")
    serie = request("serie")
    sezione = request("sezione")
    contenuto = request("contenuto")
    note = request("note")
    data = request("data")
    numero = request("numero")
    
    
    
    
    if fondo = "Tutti" then fondo="%"
    if sezione = "Tutte" then sezione="%"
    if serie = "Tutte" then serie="%"
    
    
    if data = "" then data="%"
    if numero = "" then numero="%"
    if contenuto = "" then contenuto="%"
    if note = "" then note="%"
    
    
    
    
    Dim objConn, objRS, strSQL
    Set objConn =Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../database/Archivio buono.mdb")
    strSQL = " SELECT * FROM comunale where fondo LIKE '%"&fondo&"%' AND sezione LIKE '%"&sezione&"%' AND serie LIKE '%"&serie&"%' AND data LIKE '%"&data&"%' AND numero LIKE '%"&numero&"%' AND note LIKE '%"&note&"%' AND contenuto LIKE '%"&contenuto&"%' order by data, Fondo, Sezione, Serie,  numero"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open strsql, objConn, 1
    strrecord_totali = objRS.RecordCount
    
    
    ' imposta il numero di colonne da visualizzare
      strnumero_colonne = 1
    
    
    ' il resto
    strresto = (strrecord_totali mod strnumero_colonne)
    
    
    ' i record totali meno il resto divisi per le colonne
    strrecord_parziali = ((strrecord_totali - strresto) / strnumero_colonne )
    
    
    Response.Write "<table border='0' align='justify' cellpadding='5' cellspacing='5' bordercolor='#000000' font size='30'>"
    
    
    for n = 1 to strrecord_parziali
      Response.Write "<tr>" 
    
    
      ' stampa i record nelle colonne
      for m =1 to strnumero_colonne
          
      Response.Write "<tr>"
        Response.Write"<td width='234'auto' align='left' valign='baseline'><div align='left'><strong>Fondo:</strong> "&objRS("fondo")&"</div></td>"
    	Response.Write "</tr>"
    	
    	Response.Write "<tr>"
    	Response.Write"<td width='350'auto' align='left' valign='baseline'><div align='left'><strong>Sezione:</strong> "&objRS("sezione")&"</div></td>"
    	Response.Write "</tr>"
    		
    	Response.Write "<tr>"
    	Response.Write"<td width='350'auto' align='left' valign='baseline'><div align='left'><strong>Serie:</strong> "&objRS("serie")&"</div></td>"
    	Response.Write "</tr>"
    	
    	Response.Write "<tr>"  
    	Response.Write "<td width='350'auto' align='left' valign='baseline'><div align='left'><strong>Posizione:</strong> "&objRS("posizione")&"</div></td>"
    	Response.Write "</tr>"
    	
    		Response.Write "<tr>"
    	Response.Write "<td align='left' valign='baseline'><div align='left'><strong>Data:</strong> "&objRS("data")&"</div></td>"
    	Response.Write "</tr>"
    	
    	Response.Write "<tr>"
    	Response.Write"<td align='left' valign='baseline'><div align='left'><strong>Busta:</strong> "&objRS("numero")&"</div></td>"
    	Response.Write"</tr>"
    	
    	Response.Write"<tr>"
        Response.Write"<td colspan='2' align='left' valign='baseline'><div align='left'><strong>Oggetto:</strong> "&objRS("contenuto")&"</div></td>"
    	Response.Write"</tr>"
    	
       	Response.Write"<tr>"
        Response.Write"<td colspan='2' align='left' valign='baseline'><div align='left'><strong>Note:</strong> "&objRS("note")&"</div></td>"
    	    Response.Write"</tr>"
    	
      	Response.Write"<tr>"
    	  Response.Write"<td colspan='3' align='left' valign='baseline'><hr /></td>"
      Response.write"</tr>"
      
      
      objRS.MoveNext
      next
    
    
      Response.Write ""
    next
    
    
    Response.Write "</table>"
    
    
    ' pulizia
    objRS.Close
    Set objRS = Nothing
    
    
    objConn.Close
        Set objConn = Nothing%>
    	  </p>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Come adattare una tabella che preleva dati da un DB? A cosa lo vuoi adattare?
    Chi può mi aiuta ? A fare cosa?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    Mi sono mangiato un pezzo del messaggio ... senza parole ... chiedo scusa ...
    Io intendevo questo: partendo dalla tabella dinamica che mi recupera i record dal DB e mi restituisce l'oggetto della ricerca fatta, vorrei che questo risultato fosse stampato in file PDF. Ora il problema è che non riesco a fare una tabella usando la classe FPDF (pur avendo letto molto e anche gli esempi in PHP che nemmeno conosco). Come adattare il codice asp che ho postato per raggiungere questo scopo ? Grazie

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Devi usare la classe FPDF in asp seguendo le istruzioni
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    Si ok. Solo che non ho capito come faccio a costruire la tabella usando il comando "Cell" o "Multicell". Devo fare la tabella una cella alla volta, riga per riga ? E come si mette l'istruzione che recupera il valore ? Io ho capito che se metto qualcosa fra gli apici me la restituisce così com'è (Es.: "Ciao a tutti").
    Ultima modifica di nilats; 07-08-2014 a 10:19

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Per la cella singola direi cosi
    ' Stampo una cella specificando la larghezza (80mm),
    ' l'altezza (10mm) e il testo da scriverci dentro
    pdf.Cell 80,10, objRS("serie")
    Per la multicella bisogna capire se lo script la supporta (vedi sito sviluppatore) sempre che si trovi dopo 9 anni in alternativa se il server ha installato http://www.asppdf.com/ di persits
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    Ben gentile ! Grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    Sono riuscito a capire come funziona FPDF e a crearmi la funzione che desideravo. Però riesco a vedere un record alla volta mentre invece vorrei ottenere la visualizzazione di tutti records relativi alla richiesta fatta dall'utente nell'apposito form.
    C'è qualche riga di codice ASP da inserire ? Il PDF aumenta le sue pagine in automatico in base ai records visualizzati ?
    Posto il codice aggiornato della pagina:
    codice:
      <!--#include file="../fpdf.asp" -->
    
    
    <%
    
    
    
    
    fondo = request("fondo")
    serie = request("serie")
    sezione = request("sezione")
    contenuto = request("contenuto")
    note = request("note")
    data = request("data")
    numero = request("numero")
    
    
    
    
    if fondo = "Tutti" then fondo="%"
    if sezione = "Tutte" then sezione="%"
    if serie = "Tutte" then serie="%"
    
    
    if data = "" then data="%"
    if numero = "" then numero="%"
    if contenuto = "" then contenuto="%"
    if note = "" then note="%"
    
    
    
    
    Dim objConn, objRS, strSQL
    Set objConn =Server.CreateObject("ADODB.Connection")
    objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("../database/Archivio buono.mdb")
    strSQL = " SELECT * FROM comunale where fondo LIKE '%"&fondo&"%' AND sezione LIKE '%"&sezione&"%' AND serie LIKE '%"&serie&"%' AND data LIKE '%"&data&"%' AND numero LIKE '%"&numero&"%' AND note LIKE '%"&note&"%' AND contenuto LIKE '%"&contenuto&"%' order by data, Fondo, Sezione, Serie,  numero"
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open strsql, objConn, 1
    
    
    
    
    ' Importo la classe JScript in un file VBScript
    Set pdf=CreateJsObject("FPDF")
    
    
    ' Inizializzo la classe
    pdf.CreatePDF()
    
    
    ' Imposta il percorso della directory contenente i fonts,
    ' le estensioni ed i modelli
    pdf.SetPath("../fpdf/")
    
    
    ' Imposto il font da utilizzare (Arial), lo style (I = Corsivo)
    ' e la dimensione (16)
    pdf.SetFont "Arial","I",16
    
    
    ' Creo un nuovo documento PDF
    pdf.Open()
    
    
    ' Aggiungo una pagina al documento PDF
    pdf.AddPage()
    
    
       pdf.SetXY 70,5
       pdf.setfillcolor 255,255,255
    pdf.Cell 0,0, "Indice personalazzato-Ricerca ASCM"
    
    
       pdf.SetXY 5,5
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Fondo: "
       
       pdf.SetXY 25,5
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10,objRS("fondo")
    
    
       pdf.SetXY 5,15
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Sezione: "
       
          pdf.SetXY 30,15
    	     pdf.setfillcolor 255,255,255
      pdf.Cell 80,10, objRS("sezione")
      
         pdf.SetXY 5,25
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Serie: "
      
            pdf.SetXY 35,25
       pdf.setfillcolor 255,255,255
      pdf.Cell 80,10, objRS("serie")
      
      pdf.SetXY 5,35
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Data: "
      
            pdf.SetXY 40,35
       pdf.setfillcolor 255,255,255
      pdf.Cell 80,10, objRS("data")
    
    
      pdf.SetXY 5,45
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Busta: " 
     
            pdf.SetXY 45,45
       pdf.setfillcolor 255,255,255
      pdf.Cell 80,10, objRS("numero")
      
       pdf.SetXY 5,55
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Oggetto: " 
      
            pdf.SetXY 30,55
       pdf.setfillcolor 255,255,255
      pdf.Cell 80,10, objRS("contenuto")
      
           pdf.SetXY 5,65
       pdf.setfillcolor 255,255,255
    pdf.Cell 80,10, "Note: " 
      
          pdf.SetXY 20,65
       pdf.setfillcolor 255,255,255
      pdf.Cell 200,10, objRS("note") 
    
    
    ' Chiudo il documento
    pdf.Close()
    
    
    ' Stampo il documento
    pdf.Output()
    
    
    %>

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    l'errore è procedurale

    bisogna:
    creare il pdf
    stamparci dentro il ciclo dei risultati
    chiudere il pdf


    le pagine devi aggiungerle, non si creano da sole
    Ultima modifica di Vincent.Zeno; 27-08-2014 a 11:25

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Proverei mettendo un ciclo subito dopo l'apertura del recordset
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2025 vBulletin Solutions, Inc. All rights reserved.