Proszę o pomoc czy jest wykonalne wstawienie instrukcji warunkowej "if" w funkcje "echo"
Bezpośrednio nie, ale możesz zrobić coś ala:
<?php
function getMessage(): string
{
if (1 === 1) {
return 'Foo';
} else {
return 'Bar';
}
}
echo getMessage();
Tylko, że w PHP się przyjęło, że do wyświetlania funkcji używamy print.
Chodzi mi o to aby zamiast wyświetlenia zmiennej "$row['naukap']" która ma wartość 0,1 lub null , był wstawiony odpowiedni obrazek.
Problem w tym, że nigdzie nie powiedziałeś PHPowi, aby wyświetlił obrazek.
Działający kod to:
switch ($row['naukap']) {
case 0:
echo '<img src="img/wesola.png" width="25" alt="Wesoła minka">';
break;
case 1:
echo '<img src="img/smutna.png" width="25" alt="Smutna minka">';
break;
default:
echo '<img src="img/brak_oceny.png" width="25" alt="Brak oceny">';
break;
}
Użyłem switcha, gdyż są szybsze i w tym przypadku bardziej przejrzyste.
Jeśli traktujesz programowanie na serio, to zacznij myśleć jak oddzielić warstwę prezentacji (Powiedzmy kod HTML) od warstwy infrastruktury (Powiedzmy mysqli_*). Tzn. nie musisz myśleć, po prostu wygoogluj.
https://phptherightway.com/#templating