Il problema è che stai confrontando delle stringhe, non dei numeri.
In una stringa, 1 viene prima di qualsiasi altro numero eccetto lo 0, quindi la condizione >= 61% E <= 100% non sarà mai vera perché la stringa 100% viene prima della stringa 61%
Metti di avere 84%, risulta correttamente >= di 61%, ma non è <= di 100% perché 1 viene prima di 8, quindi 100%<84%
Soluzioni:
1) da $percentuale_pdf togli % con str_replace() e togli % anche dagli if, così hai effettivamente dei confronti tra numeri
2) cambi i confronti in
Purché la percentuale 0% o 0,...% non sia possibile, altrimenti ti darebbe successCodice PHP:if ($percentuale_pdf <= "29%") {
// qui danger
}
else if ($percentuale_pdf <= "60%") {
// qui warning
}
else {
// qui success
}
3) per il confronto usi strnatcmp()

Rispondi quotando