Als ik dit opvraag, geeft ie alle 'statussen' onder elkaar.
<?
if($row['waarde'] < 100000)
{
echo 'Slechte Staat';
}
elseif($row['waarde'] < 400000)
{
echo 'Middelmatige Staat';
}
if($row['waarde'] < 500000)
{
echo 'Redelijk goede Staat';
}
if($row['waarde'] < 600000)
{
echo 'Betere Staat';
}
if($row['waarde'] > 700000)
{
echo 'Uitstekende Staat';
}
?>

Hoe kan dit?

EDIT: hier scheelt iets met de layout in de code..., niet op letten
Je moet eerst beginnen met het hoogste getal dan naar het laagste, en gebruik deze constructie

if
elseif
elseif
elseif
etc

PS: het is geen MySQL fout

Voorbeeldje toegevoegd:
<?php

if($row['waarde'] < 700000){
echo 'Uitstekende staat';
}
elseif(row['waarde'] < 600000){
echo 'Betere staat';
}
elseif(row['waarde'] < 500000){
echo 'Redelijke goede staat';
}

etc

?>
ooooow, sorry:D
ik zie het nu ook pas dat het mis is met de elseif:)
maar van die volgorde wist ik niet;)

merci
rednl, dat lijkt me ook niet de oplossing. Immers nu zal voor alle waardes < 700000 die optie weergegeven worden. Je zult ranges moeten definieren:
<?php
if($row < 10000)
{
echo 'Slecht';
}
elseif($row >= 10000 && $row < 20000)
{
echo 'Beter';
}
else
{
echo 'Best';
}
?>
Ik ben inderdaad even slordig geweest maar deze klopt wel:

<?php

if($_GET['waarde'] > 700000){
echo 'Uitstekende staat';
}
elseif($_GET['waarde'] > 600000){
echo 'Betere staat';
}
elseif($_GET['waarde'] > 500000){
echo 'Redelijke goede staat';
}
elseif($_GET['waarde'] > 400000){
echo 'Middelmatige staat';
}
else{
echo 'Slechte staat';
}

?>

Uiteraard even de $_GET even aanpassen (gebruikt om te testen)

Reageren