Nou ik heb dus een SQL DB en daar staan projecten in. Ik wil krijgen dat het status image automatisch veranderd als in de database het getal (1=openstaand, 2=in behandeling =afgerond)
ik heb hierbij ook 3 plaatjes

Ik zat zelf al te denken aan IF maar ik kwam er niet uit hulp AUB.

overzicht.php

<?php
include('connect.php');

$query = "SELECT*FROM weergeven";
$resultaat = mysql_query($query) or die (mysql_error());

echo"<table border=\"0\">";
echo"<td width=\"20\"><strong>status&nbsp;&nbsp;</strong></td><td width=\"100\"><strong>naam</strong></td><td width=\"30\"><strong>opdrachtgever&nbsp;</strong></td><td><strong>afdeling</strong></td><td><strong>werkplek</strong></td></tr>";


while($data = mysql_fetch_array($resultaat))
{
echo"<td width=\"10\" ></td><td width=\"70\"><a href=\"weergeven.php?id=".$data['id']."\">".$data['naam']."</A></td><td width=\"50\">".$data['bedrijf']."</td><td>".$data['afdeling']."</td><td>".$data['werkplek']."</td></tr>";
}
"</table>"
?>



hier zie je dus dat voor de projecten gekleurde bolletjes staan. dit is de status. Dit moet automatisch veranderen als ik in de DB bijv. van status 1 naar 3 verander
je kan het beste doen van
<?php

if($row->open == 1 )
{ echo 'wanneer het is 1';
}
elseif($row->open == 2)
{ echo 'waneer het is 2';
}
else{
echo 'waneer het is 3';
}
?>
ik zou er dit van maken


<?php
include('connect.php');

$query = "SELECT*FROM weergeven";
$resultaat = mysql_query($query) or die (mysql_error());

echo"<table border=\"0\">";
echo"<td width=\"20\"><strong>status&nbsp;&nbsp;</strong></td><td width=\"100\"><strong>naam</strong></td><td width=\"30\"><strong>opdrachtgever&nbsp;</strong></td><td><strong>afdeling</strong></td><td><strong>werkplek</strong></td></tr>";


while($data = mysql_fetch_array($resultaat))
{
if ($data['status'] == 1)
{
$urlplaatje = 'url naar plaatje 1';
}
	elseif ($data['status'] == 2)
	{
	$urlplaatje = 'url naar plaatje 2';
	}
		elseif ($data['status'] == 3)
		{
		$urlplaatje = 'url naar plaatje 3';
		}
			else
			{
			$urlplaatje = 'url naar "fout" plaatje';
			}
echo"<td width=\"10\" ><img src=".$urlplaatje."></td><td width=\"70\"><a href=\"weergeven.php?id=".$data['id']."\">".$data['naam']."</A></td><td width=\"50\">".$data['bedrijf']."</td><td>".$data['afdeling']."</td><td>".$data['werkplek']."</td></tr>";
}
"</table>"
?> 


en dan nog een laatste tip, gebruik bij een echo beter een enkele quote. dan hoef je niet te escapen.
Waarom noem je je plaatjes niet gewoon 1.gif, 2.gif, 3.gif enz?

Dan doe je:

<?php
echo '<img src="'.$status.'.gif">';
?>
Desnoods:
<?php
$statusImages = array('groen.gif', 'geel.gif', 'rood.gif');

echo '<img src="images/' . $statusImages[$data['status']] . '">';
?>
OK ik ga he proberen^^ ik zal t vertellen als het gelukt is :^^

edit: het script van Stefan werkt! hartelijk bedankt!
jurgen, ik zou ook het stuk van Jan en Jelmer overwegen, stuk korter en logischer
Nouja ik ben nog niet zo heel lang aan het PHPen en dat gedeelte snap ik van Stefan. ik ken de methode ook wel van zien maar ik snapte em niet. ik moet me er nl. nog verder in gaan verdiepen

Reageren