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 riparazionei vari interventi eseguiti
        In diverse pagine 
(riparazione conclousa in arrivoin lavorazionein attesa di ritirola 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.