PHP creare un file excel dopo ricerca nel DB

Umberto Federico

Nuovo Utente
15 Giu 2022
4
0
1
Buongiorno a tutti, avrei bisogno di un aiuto.

Dopo aver inserito dei criteri di ricerca, tramite una query interrogo la mia tabella e ottengo una serie di righe con i dati corrispondenti.

Avrei bisogno di passare i dati ottenui dalla mia query tramite un link al file che mi genera il file excel.

Praticamente dovrei passare i dati che andranno a sostituire la query presente nel file che genera l'excel in modo da stampare solo i dati ottenuti dalla ricerca fatta nella prima pagina.

Grazie a chi potrà darmi dei suggerimenti.

PHP:
 <?php
include ("../data.inc.php");

$db = mysql_connect($mysqlhost,$mysqluser,$mysqlpassword);
if ($db==FALSE)
die ("ERRORE CONNESSIONE");
mysql_select_db($mysqldb,$db); 

function cambia(&$item, $key)
{
 $item= str_replace("<br />", "", $item);
 $item= str_replace(PHP_EOL , "", $item);
 $item=str_replace("\r"     , "", $item);
}

$filename = "suppliers.xls"; // File Name
// Download file
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
$user_query  = mysql_query('select ragsoc, citta, provincia, telefono, fax, mail,  tipofornitore, marchi, responsabile, sconto, pagamento, trasporto,  contatto, telcontatto, mailcontatto, mobilecontatto, notecontatto,  contatto1, telcontatto1, mailcontatto1, mobilecontatto1, notecontatto1  from fornitori');
// Write data to file
$flag = false;
while ($row = mysql_fetch_assoc($user_query)) {
    if (!$flag) {
        // display field/column names as first row
         echo "Supplier \t City \t District \t Phone \t Fax \t Mail \t  Supplier info \t Brands \t Purchaser responsible \t Discounts \t Payment  conditions\t Shipping conditions \t Main contact \t Phone \t Mail \t  Mobile \t Notes\t Second contact \t Phone \t Mail \t Mobile \t Note  \r\n";
        //echo implode("\t", array_keys($row)) . "\r\n";
        $flag = true;
    }
    array_walk($row,'cambia');
    echo implode("\t", array_values($row)) . "\r\n";
    
}
?>
 

Discussioni simili