Evviva!!! Grazie ragazzi perfetto!!
Ecco il codice, magari potrebbe servire a qualcun altro che avrà il mio stesso problema (manca la parte js).
Codice PHP:
// Inizializza i punteggi dei servizi
$punteggi_servizi = array( 'Servizio1' => 0, 'Servizio2' => 0,
// altri servizi...);
// Calcola i punteggi per ciascun servizio basato sulle risposte
foreach ($punteggi_servizi as $servizio => &$punteggio)
{ foreach ($punteggi as $domanda => $risposte)
{ if (isset($pesi[$servizio][$domanda]))
{ foreach ($risposte as $risposta)
{ if (isset($pesi[$servizio][$domanda][$risposta]))
{ $punteggio += $pesi[$servizio][$domanda][$risposta];
}
}
} }}
unset($punteggio);
// Ordina i servizi per punteggio decrescentearsort($punteggi_servizi);
// Calcolo del minimo e massimo punteggio$min_punteggio = min($punteggi_servizi);$max_punteggio = max($punteggi_servizi);
echo '<center><h2>I servizi più adatti a te:</h2></center>';echo '<table style="border-width: 0px 0 0 0px;">'; // Inizia la tabellaecho '<tr>'; // Inizia la riga della tabella
$counter = 0;
// Inizializza il contatore
foreach ($punteggi_servizi as $servizio => $punteggio) { // Calcolo della percentuale normalizzata $percentuale = ($max_punteggio > $min_punteggio) ? (($punteggio - $min_punteggio) / ($max_punteggio - $min_punteggio)) * 100 : 0;
echo '<td style="display: grid;">'; // Inizia una nuova cella nella tabella
echo '<li style="display: flex;">';
echo '<div class="progress-bar">';
echo '<div class="progress" style="width: ' . $percentuale . '%;">';
echo '<span class="service-name">' . $servizio . '</span>';
echo '</div>'; echo '</div>';}
Grazie per le dritte e la correzione a Vincent.Zeno e ad Alhazred! Un'ottima giornata! ☀ (ho provato a rimodificare il codice per farvelo vedere bene con la corretta formattazione ma non va, sbaglierò qualcosa, mi spiace)