Er kunnen 3 mogelijk opties uit mijn database komen
Ja - Nee - Getal

Bij Ja moet deze omgezet worden in een vinkje
Bij Nee moet deze omgezet worden in een kruisje
Bij getal gewoon het getal


<td width="200px"><?php echo $row['S/PDIF uitgang'] == 'Ja' ?
 '<img src="../templates/ja.jpg" height="10px" />' : 
$row['S/PDIF uitgang'] == 'Nee' ? 
'<img src="../templates/nee.jpg" height="10px" />' : 
$row['S/PDIF uitgang'];
?></td>


Ergens krijg ik hier een empty output.
Weet iemand hoe dit komt?
Dit: S/PDIF uitgang
is natuurlijk geen fatsoenlijk geldige veldnaam.

Verder zal je ( en ) moeten gebruiken.
echo ... == ... ? ... : (... == ... ? ... : ...);
ok nu werkt het inderdaad wel, makkelijke oplossing.

Mag ik vragen waarom dit geen geldige veldnaam is (het werkt namelijk wel)
Het is in feite een deling (S/PDIF) met daarna een spatie (is nooit toegestaan) en dan nog een los woord (uitgang). Als het bij jou werkt dan gebruik je backtics en dat is zeker niet aan te raden.
dus S_PDIF_uitgang zou beter zijn.
Eventueel uitleg over backtics?
S_PDIF_uitgang is een nette naam.
Backtics horen niet in SQL. Alleen mySQL staat het toe, maar het is geen standaard. Het wordt eigenlijk alleen gebruikt om 'verkeerde' namen te kunnen gebruiken. Oplossing: Gebruik correcte namen en geen backtics.
dus S_PDIF_uitgang zou beter zijn.
Ja
Eventueel uitleg over backtics?
Stel dat ik de volgende query doe: SELECT delete FROM table WHERE (column=value); Dan zal MySQL dat interpreteren als SELECT (DELETE FROM table WHERE (column=value)); en ben je een aantal rijen kwijt.
Je kunt dat echter met backticks zorgen dat MySQL ook gereserveerde woorden toelaat als kolomnamen: SELECT `delete` FROM table WHERE (column=value); Die zal werken als een SELECT. Maar gezien dit zondigt tegen alle standaarden en je bij één keer vergeten van de backticks weer op zoek kunt gaan naar een fout die je maar nergens kan vinden, is dit gewoon sterk af te raden.
Ok, heel erg bedankt voor jullie antwoorden.
Ga het direct allemaal aanpassen.

Reageren