Ik ben bezig met een systeem waarin onder andere de status van een order wordt weergegeven. Dit zijn 3 verschillende statussen (Pending, Wating, Closed) en deze wil ik weergeven elk met een eigen css class.
Nu heb ik het volgende geprobeerd, maar dat werkt niet. Gezocht op internet maar ik kom er niet uit...
function showstatus(){
if ( $_GET['status'] == "Pending"){
echo "<span class=\"pending\">Pending</span>";
} else {
echo "<br /><br />No information found in the status row. Please check your code.";
}
};
Ik heb het opgelost door de td tags in de functie te zetten.
Het werkt, maar ik vind het niet ideaal, overzicht wordt er een beetje onduidelijk van. Onderstaand in ieder geval de werkende code:
De Functie:
<?php
function show_status($status){
if ( $status == "Pending"){
echo "<td class=\"pending\">Pending</td>";
} elseif ( $status == "Waiting"){
echo "<td class=\"waiting\">Waiting</td>";
} elseif ( $status == "Closed"){
echo "<td class=\"closed\">Closed</td>";
} else {
echo "No information found in the status row. Please check your code.";
}
?>
}
Goede kritiek! Ik ga dit even proberen, en de waarden al uit de database halen. Die align troep moet er inderdaad uit.
Edit: Ik heb het aan de praat gekregen. Hoe bedoel je precies alles uit de database halen met een switch? De functie al in de query verwerken ofzo?
Edit 2: De functie wordt nu niet aangeroepen bij de td class, maar gewoon de waarde van status wordt daar nu ingevuld. Ik roep dus de functie niet meer op. Met de functie op die plaats kreeg ik het niet aan de praat. De class zal altijd gelijk zijn aan de waarde in de database, dan kan ik die functie toch verder achterwege laten? Of is dit niet verstandig, en waarom niet?