Riportare in tabella HTML dati estratti con query SQL

Marcello_php

Nuovo Utente
9 Ago 2021
3
0
1
Buongiorno a tutti, cerco di esporre nel modo più chiaro il mio problema:
  • Ho una tabella SQL in cui sono presenti record generati attraverso l'inserimento da un form PHP
  • Ho necessità di estrarre dati dalla tabella SQL e riportarli sotto forma di tabella in un file excel
  • Attualmente riesco ad effettuare questa operazione (riportare i dati sotto forma di tabella in file excel) tuttavia a me è stata richiesta una formattazione differente nel file Excel
Per chiarire la situazione, riporto innanzittutto la query SQL che estrae i dati dalla tabella contenuta in un file denominato export.php:

PHP:
$query = "
SQL:
SELECT 
                    sf_errors_error_type.label              AS _errorType,
                    sf_errors.taxCode                       AS _taxCode,
                    sf_errors.cardPan                       AS _cardPan,
                    sf_errors.deniedOperations              AS _deniedOperations,
                    sf_errors.accessChannel                 AS _accessChannel,
                    sf_errors.deviceBrand                   AS _deviceBrand,
                    sf_errors.appVersion                    AS _appVersion,
                    sf_errors.operatingSystem               AS _operatingSystem,
                    sf_errors_certificate_number.label      AS _certificateNumberId,
                    sf_errors_customer_operation.label      AS _customerOperationId,
                    sf_errors_blocked_account.label         AS _blockedAccountId,
                    sf_errors.lastAttempt                   AS _lastAttempt,
                    sf_errors.phoneNumber                   AS _phoneNumber,
                    sf_errors.mail                          AS _mail
                    FROM poste.sf_errors
                    LEFT JOIN centre_ccsud.users AS _u ON _u.id = poste.sf_errors.userId
                    LEFT OUTER JOIN poste.sf_errors_error_type ON poste.sf_errors_error_type.id = poste.sf_errors.errorTypeId
                    LEFT OUTER JOIN poste.sf_errors_certificate_number ON sf_errors_certificate_number.id = poste.sf_errors.certificateNumberId
                    LEFT OUTER JOIN poste.sf_errors_customer_operation ON sf_errors_customer_operation.id = poste.sf_errors.customerOperationId
                    LEFT OUTER JOIN poste.sf_errors_blocked_account ON sf_errors_blocked_account.id = poste.sf_errors.blockedAccountId




PHP:
$cur = Database::ExecuteQuery($query);

Successivamente, nello stesso file, creo la tabella HTML che poi sarà riportata nel file Excel. Questo è il codice:

HTML:
<table border="1" class="list1">
            <thead>
                <tr>
                    <th bgcolor="#3130ce" style="color:#edf601">Tipo Errore</th>
                    <th bgcolor="#3130ce" style="color:#edf601">CF</th>
                    <th bgcolor="#3130ce" style="color:#edf601">PAN Carta</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Operazioni negate</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Canale di accesso al servizio</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Marca del device</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Versione APP</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Sistema operativo e versione del device</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Numero certificato modificato di recente</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Operazione riconosciuta dal cliente</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Account Bloccato</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Ultimo tentativo</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Recapito TEL</th>
                    <th bgcolor="#3130ce" style="color:#edf601">Mail</th>
                </tr>
            </thead>
PHP:
<?php while ($record = Database::FetchRecord($cur)) { ?>


HTML:
<tr>
                <td><?=$record['_errorType']?></td>
                <td><?=$record['_taxCode']?></td>
                <td><?=$record['_cardPan']?></td>
                <td><?=$record['_deniedOperations']?></td>
                <td><?=$record['_accessChannel']?></td>
                <td><?=$record['_deviceBrand']?></td>
                <td><?=$record['_appVersion']?></td>
                <td>C<?=$record['_operatingSystem']?></td>
                <td><?=$record['_certificateNumberId']?></td>
                <td><?=$record['_customerOperationId']?></td>
                <td><?=$record['_blockedAccountId']?></td>
                <td><?=$record['_lastAttempt']?></td>
                <td><?=$record['_phoneNumber']?></td>
                <td><?=$record['_mail']?></td>
            </tr>

In questo modo quando effettuo l'export nel file excel ottengo il risultato riportato nell'immagine di seguito:

export.png


Ecco il problema: a me è stato richiesto di avere una formattazione in Excel differente da questa, che riporto nell'immagine seguente:

export1.png


Questo significa che per ogni record presente nella tabella SQL ed estratto tramite la query riportata sopra, va generata una singola tabella a due colonne dove nella prima colonna vengono riportate le denominazioni del dato estratto e nella seconda colonna il valore che il dato assume per quel record.

Questo significa che verranno generate nel file excel tante tabelle a due colonne (come riportate nell'immagine sopra) quanti sono i record presenti nella tabella SQL da cui vengono estratti i dati

La mia domanda è questa: nel file Export come devo definire la tabella html per ottenere questo risultato?

Grazie in anticipo a chiunque saprà aiutarmi!
 

Discussioni simili