inserire valori da una tabella a un altra mysql

bipolare75

Utente Attivo
15 Set 2019
37
0
6
Buona sera, ringrazio Marino51 per il prezioso aiuto che mi ha dato,non riesco a fare la richiesta per data oppure e' sbagliato,cortesemente mi puoi dare una controllata?grazie
PHP:
<form action="visualizza.php" method="post">
Data inizio <input type="date" name="datain" value="" placeholder="AAAA-MM-DD" /><br />
Data fine <input type="date" name="dateout" value="" placeholder="AAAA-MM-DD" /><br />
<input name="cerca" id="button" style="margin-left: 10px;" value="Cerca" type="Submit">
</form>
<php
else
{
    if (empty($_POST['$dataselezione']))  $datain="2019-01-01";
    else                          $datain=$_POST['$dataselezione'];

    if (empty($_POST['$dataselezione'])) $dateout="2020-12-31";
    else                          $dateout=$_POST['$dataselezione'];
    echo $sql;
}
<?php
$link = mysql_connect("xxxx", "xxxxx", "xxxx");
mysql_select_db("xxxxxxx", $link);
$query = "select data_ritiro, descrizione, sum(quantita) as quantita from(
select data_ritiro, descrizione1 as descrizione, quantita1 as quantita
from Ordini where descrizione1 is not null and quantita1 > 0 and data_ritiro = '".$dataselezione."'
UNION ALL
select data_ritiro, descrizione2 as descrizione, quantita2 as quantita
from Ordini where descrizione2 is not null and quantita2 > 0 and data_ritiro = '".$dataselezione."'
UNION ALL
select data_ritiro, descrizione3 as descrizione, quantita3 as quantita
from Ordini where descrizione3 is not null and quantita3 > 0 and data_ritiro = '".$dataselezione."'
UNION ALL
select data_ritiro, descrizione4 as descrizione, quantita4 as quantita
from Ordini where descrizione4 is not null and quantita4 > 0 and data_ritiro = '".$dataselezione."'
)
t group by data_ritiro, descrizione
order by data_ritiro, descrizione";
$dataselezione = mysql_query($query, $link);
var_dump($dataselezione);
echo "<br /><br />";
$num = mysql_num_rows($dataselezione);
echo $num."<br /><br />";
$i =0;
?>
<table border="3" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Data Ritiro</font></th>
<th><font face="Arial, Helvetica, sans-serif">Descrizione</font></th>
<th><font face="Arial, Helvetica, sans-serif">Quantita'</font></th>
</tr>
<?php
$i = 0;
while ($i < $num) {
$data_ritiro = mysql_result($dataselezione, $i, "data_ritiro");
$descrizione = mysql_result($dataselezione, $i, "descrizione");
$quantita = mysql_result($dataselezione, $i, "quantita");
?>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $data_ritiro;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $descrizione;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $quantita;?></font></td>
</tr>
<?php
$i++;
}

?>
 

marino51

Utente Attivo
28 Feb 2013
2.708
140
63
Lombardia
vedi se va così
PHP:
<form action="visualizza.php" method="post">
Data inizio <input type="date" name="datain" value="" placeholder="AAAA-MM-DD" /><br />
Data fine <input type="date" name="dateout" value="" placeholder="AAAA-MM-DD" /><br />
<input name="cerca" id="button" style="margin-left: 10px;" value="Cerca" type="Submit">
</form>

<?php

$today   = ( new DateTime() )->format('Y-m-d');

$datain  = ( !empty($_POST['datain'])  ? $_POST['datain'] : $today );

$dateout = ( !empty($_POST['dateout']) ? $_POST['dateout'] : $datain );

$sql = " and data_ritiro >= '".$datain."' and data_ritiro <= '".$dateout."' ";
// echo $sql."<br /><br />";

$query = "select data_ritiro, descrizione, sum(quantita) as quantita from(
select data_ritiro, descrizione1 as descrizione, quantita1 as quantita
from Ordini where descrizione1 is not null and quantita1 > 0".$sql."
UNION ALL
select data_ritiro, descrizione2 as descrizione, quantita2 as quantita
from Ordini where descrizione2 is not null and quantita2 > 0".$sql."
UNION ALL
select data_ritiro, descrizione3 as descrizione, quantita3 as quantita
from Ordini where descrizione3 is not null and quantita3 > 0".$sql."
UNION ALL
select data_ritiro, descrizione4 as descrizione, quantita4 as quantita
from Ordini where descrizione4 is not null and quantita4 > 0".$sql."
) t
group by data_ritiro, descrizione
order by data_ritiro, descrizione";
// echo $query."<br /><br />";

$link = mysql_connect("xxxx", "xxxxx", "xxxx");
mysql_select_db("xxxxxxx", $link);

$dataselezione = mysql_query($query, $link);
// var_dump($dataselezione); echo "<br /><br />";

$num = mysql_num_rows($dataselezione);
echo $num."<br /><br />";

$i =0;
?>
<table border="3" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Data Ritiro</font></th>
<th><font face="Arial, Helvetica, sans-serif">Descrizione</font></th>
<th><font face="Arial, Helvetica, sans-serif">Quantita'</font></th>
</tr>
<?php
$i = 0;
while ($i < $num) {
$data_ritiro = mysql_result($dataselezione, $i, "data_ritiro");
$descrizione = mysql_result($dataselezione, $i, "descrizione");
$quantita    = mysql_result($dataselezione, $i, "quantita");
?>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $data_ritiro;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $descrizione;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $quantita;?></font></td>
</tr>
<?php
$i++;
}
?>
 

bipolare75

Utente Attivo
15 Set 2019
37
0
6
Grazie mille a tutti funziona tutto alla grande.
Grazie in Particolare a Marino51.
Se vieni a roma una LASAGNA GARANTITA.......
 

bipolare75

Utente Attivo
15 Set 2019
37
0
6
Buona sera
sto ultimando questo mio progetto,volevo chiedere se creando una pagina in pdf con FPDF e' possibile salvarla in una tabella MySQL ?
Questo e' il mio codice per generare il pdf:
PHP:
<?php
require "fpdf.php";
 // Insert a logo in the top-left corner at 300 dpi
class myPDF extends FPDF
{
    function header(){
        // Logo
    $this->Image('logo.png',50,6,40);
    $this->Image('logo.png',200,6,40);   
    $this->Cell(30,5,'',0,1,'C');
       $this->Ln();
   }
function footer(){   
    $this->SetY(-15);
    $this->SetFont('Arial','',8);
    $this->Cell(0,10,'Page'.$this->pageNo().'/{nb}',0,0,'L');
    }
function headerTable(){
    $this->SetFont('Times','',10);   
    $this->Ln();   
    }
    function viewTable($db){
        $this->SetFont('Times','',10);
         $db = New PDO('mysql:host=xxxxxx;dbname=xxxxxx',xxxxxx,xxxxxxxx);
        $stmt=$db->query ('SELECT *FROM Ordini ORDER BY id DESC LIMIT 1');
 while ($data=$stmt->fetch(PDO::FETCH_OBJ)){
     $this->SetFont('Times','',15);
        $this->Cell(10,10,'N.',1,0,'C');
        $this->SetFont('Times','',30);
        $this->Cell(15,10,$data->id,1,0,'C');
        $this->SetFont('Times','',15);
                        $this->Cell(125,10,'',0,0,'L');
                        $this->Cell(10,10,'N.',1,0,'C');
        $this->SetFont('Times','',30);
        $this->Cell(15,10,$data->id,1,0,'C');           
      $this->Cell(20,10,'',0,1,'L');   
        $this->SetFont('Times','',12);       
        $this->Cell(50,10,'nome',0,0,'L');
        $this->Cell(20,10,'',0,0,'L');
         $this->Cell(50,10,'cognome',0,0,'R');
              $this->Cell(30,10,'',0,0,'L');
$this->Cell(50,10,'nome',0,0,'L');
        $this->Cell(20,10,'',0,0,'L');
         $this->Cell(50,10,'cognome',0,1,'R');                 
         $this->SetFont('Times','',16);
        $this->Cell(50,10,$data->nome,1,0,'L');
        $this->Cell(20,10,'',0,0,'L');
        $this->Cell(50,10,$data->cognome,1,0,'L');
                      $this->Cell(30,10,'',0,0,'L');       
                       $this->SetFont('Times','',16);
        $this->Cell(50,10,$data->nome,1,0,'L');
        $this->Cell(20,10,'',0,0,'L');
        $this->Cell(50,10,$data->cognome,1,1,'L');       
        $this->SetFont('Times','',12);
        $this->Cell(120,5,'recapito',0,0,'C');
                              $this->Cell(30,10,'',0,0,'L');
$this->Cell(120,5,'recapito',0,1,'C');       
        $this->SetFont('Times','',16);
        $this->Cell(120,10,$data->recapito,1,0,'C');
                                      $this->Cell(30,10,'',0,0,'L');
$this->Cell(120,10,$data->recapito,1,1,'C');
        $this->SetFont('Times','',12);
        $this->Cell(120,5,'data Ritiro',0,0,'C');
                                              $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,5,'data Ritiro',0,1,'C');
        $this->SetFont('Times','',16);
        $this->Cell(120,10,$data->data_ritiro,1,0,'C');
                                                      $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,10,$data->data_ritiro,1,1,'C');
        $this->Cell(20,5,'',0,0,'L');
        $this->Cell(30,5,'',0,0,'L');
        $this->Cell(20,5,'',0,1,'L');
        $this->SetFont('Times','',12);
        $this->Cell(110,10,'Descrizione',1,0,'L');                                                                 
        $this->Cell(10,10,'Q.ta',1,0,'C');
         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,'Descrizione',1,0,'L');
        $this->Cell(10,10,'Q.ta',1,1,'C');
        $this->SetFont('Times','',16);
        $this->Cell(110,10,$data->descrizione1,1,0,'L');
        $this->Cell(10,10,$data->quantita1,1,0,'C');
        $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione1,1,0,'L');
        $this->Cell(10,10,$data->quantita1,1,1,'C');
        $this->Cell(110,10,$data->descrizione2,1,0,'L');
        $this->Cell(10,10,$data->quantita2,1,0,'C');
         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione2,1,0,'L');
        $this->Cell(10,10,$data->quantita2,1,1,'C');
        $this->Cell(110,10,$data->descrizione3,1,0,'L');
        $this->Cell(10,10,$data->quantita3,1,0,'C');
        $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione3,1,0,'L');
        $this->Cell(10,10,$data->quantita3,1,1,'C')
        $this->Cell(110,10,$data->descrizione4,1,0,'L');
        $this->Cell(10,10,$data->quantita4,1,0,'C');
                $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione4,1,0,'L');
        $this->Cell(10,10,$data->quantita4,1,1,'C');   
         $this->Cell(30,5,'',0,1,'L');       
        $this->Cell(120,10,'Note',1,0,'C');
                 $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,10,'Note',1,1,'C');       

        $this->Cell(120,10,$data->Note,1,0,'L');
                         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,10,$data->Note,1,1,'L');

        $this->SetFont('Times','',8);                                         
                 $this->Ln();
    }
    }
}
$pdf = new myPDF();
$pdf->Aliasnbpages();
$pdf->Addpage('L','A4','0');
$pdf->headerTable();
$pdf->viewTable($db);
$pdf->Output();
e in più e' possibile aggiungere un comando di stampa in automatico senza dover ogni volta farlo in manuale.
Grazie anticipatamente
 

marino51

Utente Attivo
28 Feb 2013
2.708
140
63
Lombardia
pagina in pdf con FPDF e' possibile salvarla in una tabella MySQL ?
io sconsiglio di memorizzare files all'interno del db,
puoi memorizzare il nome del (path+)file nel db,
salvando il file in una cartella del file system che é il miglior db per la gestione dei files

se vuoi seguirmi, ti propongo di modificare la generazione del pdf
PHP:
$pdf->Output($pdffile, 'F');
ottenendo qualcosa di simile,
upload_2019-10-13_11-29-9.png


e visualizzando il pdf con il codice, richiamato dal bottone "show PDF"
PHP:
<?php
session_start();

$reportfolder = $_SESSION['reportfolder'];
$reportname   = $_SESSION['reportname'];
$pdffile      = $_SESSION['reportfolder']."\\".$_SESSION['reportname'];

if(file_exists($pdffile))
{
  header('Content-type: application/pdf');
  header('Content-Disposition: inline; filename="' . $reportname . '"');

  header('Content-Transfer-Encoding: binary');

  header('Content-Length: ' . filesize($pdffile));
  header('Accept-Ranges: bytes');
  readfile($pdffile);
}
die;
?>
penso sia facile da capire e modificare per adattarlo ai tuoi script

ps, il nome del file può essere scelto secondo necessità, nel mio esempio viene aggiunto il "timestamp" al nome
 
Ultima modifica:

bipolare75

Utente Attivo
15 Set 2019
37
0
6
Ciao Grazie e scusami la risposta in ritardo
ho modificato il codice
PHP:
<?php
require "fpdf.php";
 // Insert a logo in the top-left corner at 300 dpi




class myPDF extends FPDF
{
    function header(){
        // Logo
    $this->Image('logo.png',50,6,40);
    $this->Image('logo.png',200,6,40);
    
    $this->Cell(30,5,'',0,1,'C');
  
  
    $this->Ln();
  
    
    
    
    }
function footer(){
    
    $this->SetY(-15);
    $this->SetFont('Arial','',8);
    $this->Cell(0,10,'Page'.$this->pageNo().'/{nb}',0,0,'L');
    }
function headerTable(){

    $this->SetFont('Times','',10);
    
    $this->Ln();
    
    }
    function viewTable($db){
        $this->SetFont('Times','',10);
         $db = New PDO('mysql:host=xxxxx;dbname=xxxxxx','xxxxxx','xxxxxx');
        $stmt=$db->query ('SELECT *FROM Ordini ORDER BY id DESC LIMIT 1');
 while ($data=$stmt->fetch(PDO::FETCH_OBJ)){
     $this->SetFont('Times','',15);
        $this->Cell(10,10,'N.',1,0,'C');
        $this->SetFont('Times','',30);
        $this->Cell(15,10,$data->id,1,0,'C');
        $this->SetFont('Times','',15);
                        $this->Cell(125,10,'',0,0,'L');
                        $this->Cell(10,10,'N.',1,0,'C');
        $this->SetFont('Times','',30);
        $this->Cell(15,10,$data->id,1,0,'C');      
        $this->Cell(20,10,'',0,1,'L');                           
        $this->SetFont('Times','',12);        
        $this->Cell(50,10,'nome',0,0,'L');
        $this->Cell(20,10,'',0,0,'L');
         $this->Cell(50,10,'cognome',0,0,'R');
         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(50,10,'nome',0,0,'L');
        $this->Cell(20,10,'',0,0,'L');
         $this->Cell(50,10,'cognome',0,1,'R');                
         $this->SetFont('Times','',16);
        $this->Cell(50,10,$data->nome,1,0,'L');
        $this->Cell(20,10,'',0,0,'L');
        $this->Cell(50,10,$data->cognome,1,0,'L');
        $this->Cell(30,10,'',0,0,'L');       
        $this->SetFont('Times','',16);
        $this->Cell(50,10,$data->nome,1,0,'L');
        $this->Cell(20,10,'',0,0,'L');
        $this->Cell(50,10,$data->cognome,1,1,'L')
        $this->SetFont('Times','',12);
        $this->Cell(120,5,'recapito',0,0,'C');
        $this->Cell(30,10,'',0,0,'L');
$this->Cell(120,5,'recapito',0,1,'C');        
        $this->SetFont('Times','',16);
        $this->Cell(120,10,$data->recapito,1,0,'C');
                                      $this->Cell(30,10,'',0,0,'L');
$this->Cell(120,10,$data->recapito,1,1,'C');
        $this->SetFont('Times','',12);
        $this->Cell(120,5,'data Ritiro',0,0,'C');
                                              $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,5,'data Ritiro',0,1,'C');

        $this->SetFont('Times','',16);
        $this->Cell(120,10,$data->data_ritiro,1,0,'C');
                                                      $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,10,$data->data_ritiro,1,1,'C');
        $this->Cell(20,5,'',0,0,'L');
        $this->Cell(30,5,'',0,0,'L');
        $this->Cell(20,5,'',0,1,'L');
        $this->SetFont('Times','',12);
        $this->Cell(110,10,'Descrizione',1,0,'L');                                                                   
        $this->Cell(10,10,'Q.ta',1,0,'C');
         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,'Descrizione',1,0,'L');
        $this->Cell(10,10,'Q.ta',1,1,'C');
        $this->SetFont('Times','',16);
        $this->Cell(110,10,$data->descrizione1,1,0,'L');
        $this->Cell(10,10,$data->quantita1,1,0,'C');
        $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione1,1,0,'L');
        $this->Cell(10,10,$data->quantita1,1,1,'C');
        $this->Cell(110,10,$data->descrizione2,1,0,'L');
        $this->Cell(10,10,$data->quantita2,1,0,'C');
         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione2,1,0,'L');
        $this->Cell(10,10,$data->quantita2,1,1,'C');
        $this->Cell(110,10,$data->descrizione3,1,0,'L');
        $this->Cell(10,10,$data->quantita3,1,0,'C');
        $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione3,1,0,'L');
        $this->Cell(10,10,$data->quantita3,1,1,'C');
        
        $this->Cell(110,10,$data->descrizione4,1,0,'L');
        $this->Cell(10,10,$data->quantita4,1,0,'C');
                $this->Cell(30,10,'',0,0,'L');
        $this->Cell(110,10,$data->descrizione4,1,0,'L');
        $this->Cell(10,10,$data->quantita4,1,1,'C');   
         $this->Cell(30,5,'',0,1,'L');              
        $this->Cell(120,10,'Note',1,0,'C');
                 $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,10,'Note',1,1,'C');        
        $this->Cell(120,10,$data->Note,1,0,'L');
                         $this->Cell(30,10,'',0,0,'L');
        $this->Cell(120,10,$data->Note,1,1,'L');

        
                                      
        

        $this->Ln();
    }
    }
}
$pdf = new myPDF();
$pdf->Aliasnbpages();
$pdf->Addpage('L','A4','0');
$pdf->headerTable();
$pdf->viewTable($db);
$pdf->Output($pdffile, 'F');
però mi da quest errore
Attenzione : fopen (): il nome file non può essere vuoto in D: \ inetpub \ webs \ xxxx\ xxxxx\ prenotazioni \ fpdf.php sulla riga 2049
Errore FPDF: Impossibile creare il file di output:

nella riga 2049 fpdf.php
$f = fopen($name,'wb');
devo cambiare 'wb' in F?

poi l'alto codice che mi hai inviato devo creare un alta pagina?
Grazie per la pazienza
 

bipolare75

Utente Attivo
15 Set 2019
37
0
6
<?php
session_start
();

$reportfolder = $_SESSION['reportfolder'];
$reportname = $_SESSION['reportname'];
$pdffile = $_SESSION['reportfolder']."\\".$_SESSION['reportname'];

if(
file_exists($pdffile))
{
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $reportname . '"');

header('Content-Transfer-Encoding: binary');

header('Content-Length: ' . filesize($pdffile));
header('Accept-Ranges: bytes');
readfile($pdffile);
}
die;

?>
Questa deve essere una nuova pagina o va inserito all'interno della pagina pdf
 

marino51

Utente Attivo
28 Feb 2013
2.708
140
63
Lombardia
il nome del report lo definisci nella tua applicazione dove ritieni più giusto,
nel mio caso, viene definito dalle scelte dell'utente, per cui proviene da altre pagine, per mezzo della $_SESSION
in ogni caso puoi definirlo appena prima della "produzione" del report
PHP:
$pdffile = $_SESSION['reportfolder'] . "\\" . $_SESSION['reportname'];

$pdf->Output($pdffile, 'F');

header('ReportConf.php');

die;
poi viene attivata la pagina (ReportConf.php) che informa l'utente che il report é pronto e che può visualizzarlo/stamparlo
la pagina visualizza il report (con lo script che ti ho postato) in modo semplice,
PHP:
if ($ACTION == "show PDF")
{
    header('ReportConfPDF.php');
}
if ($ACTION == "OK continua")
{
    // ritorna alla pagina principale   
}
 

bipolare75

Utente Attivo
15 Set 2019
37
0
6
buongiorno,rispondo in ritardo per i vari impegni dei giorni passati, comunque a m e non funziona.
Volevo ringraziarti per il tempo che mi hai dedicato.
Buona Giornata