Spiego il problema:
Gestionale di un laboratorio di assistenza; diversi clienti portano diversi dispositivi, quindi devo associare ad ogni dispositivo il suo proprietario. quindi il cliente non è quasi mai lo stesso, dipende dal numero di dispositivi che ha riparato nel laboratorio.
Codice PHP:
$stmt = $indexPage->runQuery("SELECT * FROM Riparazioni WHERE lab=:lab ORDER BY id DESC LIMIT 50");
$stmt->execute(array(":lab"=>$SESSION['lab']['id']));
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$nmCliente = $indexPage->runQuery("SELECT id, ragione_soc, name, nome FROM Utenti WHERE id=:id");
$nmCliente->execute(array(":id"=>$row['usr']));
$client = $nmCliente->fetch(PDO::FETCH_ASSOC);
$denomClient = (empty($client['ragione_soc'])) ? $client['name']." ".$client['nome'] : $client['ragione_soc'];
......................
Qui ho lo stato della riparazione, i vari interventi eseguiti
In diverse pagine (riparazione conclousa / in arrivo, in lavorazione, in attesa di ritiro) la storia si ripete con molti dispositivi e nominativi
Per adesso ho lo stesso codice per ciascuna pagina.
......................
}
Funziona tutto bene, ma lo stesso codice viene ripetuto ogni volta che ho bisogno del nome/ragione sociale del cliente.
$indexPage si connette per tutte le volte che ho bisogno, ma non nella funzione.
Per capirlo meglio: https://demo.fixhub.it
subito dopo login c'è un esempio chiaro (associazione nomi ai dispositivi) di quello che mi servirebbe.