我在我的项目中实现了能够以xls格式提取的可能性,通过数据表中的复选框选择的所有字段在while循环之前初始化了一种形式,该形式针对包含整个php的外部页面,只有在提取excel表时又将其返回为空时,我才放置了两页代码:
index.php
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<style type="text/css">
td{
text-align: center;
}</style>
<?php
//fetch.php
include '../../../connessione.php';
if(isset($_POST["query"]))
{
$cerca = mysqli_real_escape_string($connessione, $_POST["query"]);
$query = "
SELECT * FROM ca2_2ac_impianti_in_attivita
WHERE codice_impianto_in_attivita LIKE '%".$cerca."%'
OR cim_impianto_in_attivita LIKE '%".$cerca."%'
OR indirizzo_impianto_in_attivita LIKE '%".$cerca."%'
OR citta_impianto_in_attivita LIKE '%".$cerca."%'
OR categoria_strada_impianto_in_attivita LIKE '%".$cerca."%'
OR tipo_impianto_in_attivita LIKE '%".$cerca."%'
OR formato_impianto_in_attivita LIKE '%".$cerca."%'
OR caratteristiche_impianto_in_attivita LIKE '%".$cerca."%'
OR quartiere_impianto_in_attivita LIKE '%".$cerca."%'
OR municipio_impianto_in_attivita LIKE '%".$cerca."%'
OR cap_impianto_in_attivita LIKE '%".$cerca."%'
OR categoria_impianto_in_attivita LIKE '%".$cerca."%'
OR longitudine_impianto_in_attivita LIKE '%".$cerca."%'
OR latitudine_impianto_in_attivita LIKE '%".$cerca."%'
OR nominativo_cliente_in_attivita LIKE '%".$cerca."%'
OR data_inizio LIKE '%".$cerca."%'
OR data_fine LIKE '%".$cerca."%'
";
}
else
{
$query = "SELECT * FROM ca2_2ac_impianti_in_attivita ORDER BY id_impianto_in_attivita";
}
$result = mysqli_query($connessione, $query);
if(mysqli_num_rows($result) > 0)
{
?>
<div class="px-4">
<div class="table-wrapper">
<form action="excel_specifico.php" method="POST">
<input type="submit" name="invia" value="Excel Specifico" class='btn btn-sm btn-warning'>
<!--Table-->
<table id="tablePreview" class="table table-striped table-hover table-sm table-borderless">
<!--Table head-->
<thead style="text-align: center;">
<tr>
<th>
<label class="form-check-label" for="checkbox" class="mr-2 label-table"></label>
</th>
<th class="th-lg"><a href=""><strong>Seleziona</strong> </a></th>
<th class="th-lg"><a href=""><strong>Codice</strong> </a></th>
<th class="th-lg"><a href=""><strong>CIM</strong> </a></th>
<th class="th-lg"><a href=""><strong>Indirizzo</strong> </th>
<th class="th-lg"><a href=""><strong>Città</strong> </a></th>
<th class="th-lg"><a href=""><strong>Categoria</strong> </a></th>
<th class="th-lg"><a href=""><strong>Tipo</strong> </a></th>
<th class="th-lg"><a href=""><strong>Formato</strong> </a></th>
<th class="th-lg"><a href=""><strong>Caratteristiche</strong> </a></th>
<th class="th-lg"><a href=""><strong>Quartiere</strong> </a></th>
<th class="th-lg"><a href=""><strong>Municipio</strong> </a></th>
<th class="th-lg"><a href=""><strong>Cap</strong> </a></th>
<th class="th-lg"><a href=""><strong>Categoria</strong> </a></th>
<th class="th-lg"><a href=""><strong>Longituidine</strong> </a></th>
<th class="th-lg"><a href=""><strong>Latitudine</strong> </a></th>
<th class="th-lg"><a href=""><strong>Cliente</strong> </a></th>
<th class="th-lg"><a href=""><strong>Data Inzio</strong> </a></th>
<th class="th-lg"><a href=""><strong>Data Fine</strong> </a></th>
<th class="th-lg"><a href=""><strong>Azioni Impianto</strong> </a></th>
</tr>
</thead>
<!--Table head-->
<?php
while($row = mysqli_fetch_array($result))
{
?>
<!--Table body-->
<tbody>
<tr>
<th scope="row">
<label class="form-check-label" for="checkbox1" class="label-table"></label>
</th>
<td style="vertical-align: middle;">
<div class="form-check">
<input type="checkbox" value="<?php echo $row['id_impianto_in_attivita']; ?>" name="id_impianto_in_attivita[]" class="custom-control-input" id="<?php echo $row['id_impianto_in_attivita']; ?>">
<label class="form-check-label" for="<?php echo $row['id_impianto_in_attivita']; ?>"></label>
</div>
</td>
<td style="vertical-align: middle;">
<?php echo $row['codice_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['cim_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['indirizzo_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['citta_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['categoria_strada_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['tipo_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['formato_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['caratteristiche_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['quartiere_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['municipio_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['cap_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['categoria_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['longitudine_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['latitudine_impianto_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['nominativo_cliente_in_attivita'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['data_inizio'] ;?>
</td>
<td style="vertical-align: middle;">
<?php echo $row['data_fine'] ;?>
</td>
<td style="vertical-align: middle;">
<a href="#elimina<?php echo $row['id_impianto_in_attivita']; ?>" data-toggle="modal" class="btn btn-sm btn-danger btn-rounded"><span class="glyphicon glyphicon-trash"></span> ELIMINA</a>
<a href="#"><?php echo "<a href='paginadettaglio.php?id_impianto_in_attivita={$row['id_impianto_in_attivita']}' class='btn btn-sm btn-warning btn-rounded'>Dettagli</a><br>";?></a>
<?php include('modali.php'); ?>
</td>
</tr>
</tbody>
<?php
}
}
else
{
echo 'Nessun risultato corrisponde alla tua ricerca';
}
?>
</table>
<!--Table-->
</form>
</div>
<hr class="my-0">
</div>
<script>
</script>
excel_specifico.php:
<?php
session_start();
include_once('conexao.php');
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Contato</title>
<head>
<body>
<?php
if(isset($_POST['invia'])){
// Definimos o nome do arquivo que será exportado
$arquivo = 'excel_specifico.xls';
// Criamos uma tabela HTML com o formato da planilha
$html = '';
$html .= '<table border="0">';
$html .= '<tr>';
$html .= '<td><b>ID</b></td>';
$html .= '<td><b>Nome</b></td>';
$html .= '<td><b>E-mail</b></td>';
$html .= '<td><b>Assunto</b></td>';
$html .= '</tr>';
foreach($_POST['invia'] as $id => $invia){
//echo "ID do item: $id <br>";
//Selecionar todos os itens da tabela
$risultato_query = "SELECT * FROM ca2_2ac_impianti_in_attivita WHERE id_impianto_in_attivita = $id LIMIT 1";
$risultato_contatto = mysqli_query($conn , $risultato_query);
while($campi_selezionati = mysqli_fetch_array($risultato_contatto)){
$html .= '<tr>';
$html .= '<td>'.$campi_selezionati["id_impianto_in_attivita"].'</td>';
$html .= '<td>'.$campi_selezionati["codice_impianto_in_attivita"].'</td>';
$html .= '<td>'.$campi_selezionati["cim_impianto_in_attivita"].'</td>';
$html .= '<td>'.$campi_selezionati["indirizzo_impianto_in_attivita"].'</td>';
$html .= '<td>'.$data.'</td>';
$html .= '</tr>';
;
}
}
// Configurações header para forçar o download
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=\"{$arquivo}\"" );
header ("Content-Description: PHP Generated Data" );
// Envia o conteúdo do arquivo
echo $html;
exit;
}else{
echo "Nenhum item selecionado";
}
?>
</body>
</html>