Goedenavond,

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.";
		}
};


Iemand die mij in de goede richting kan wijzen?
Ik zou niet weten wat daar niet aan werkt.
Misschien moet ik even vermelden dat 'status' niet in de url staat...
Als ik
$_GET
vervang voor
$row
gebeurt er ook niets.
$row zal niet bestaan in die function.

Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
Geef maar net iets meer code, zoals de SQL Query

<?php
include('config.php'); 
echo "<table border=1 cellpadding=5 cellspacing=0 > 
		<tr>
		<td><b>Nr</b></td> 
		<td><b>Klant</b></td> 
		<td><b>Status</b></td> 
	  </tr>"; 
$result = mysql_query("SELECT * FROM `order` ORDER BY `id` DESC") or trigger_error(mysql_error()); 
while($row = mysql_fetch_array($result)){ 
foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
echo "<tr>  
		<td valign='top'>" . nl2br( $row['nr']) . "</td>  
		<td valign='top'>" . nl2br( $row['klant']) . "</td>  
		<td valign='top'>" . nl2br( $row['status']) . "</td>
		<td valign='top'><a href=index.php?page=edit&id={$row['id']}>Edit</a></td>
		<td valign='top'><a href=index.php?page=tasks&id={$row['id']}>Tasks</a></td> 
	  </tr>"; 
} 
echo "</table>"; 
echo "<br /><br /><a href=index.php?page=new>New Row</a>";
showstatus(); 
?> 


de functie staat nu nog even onderaan om te testen...
showstatus binnen de while, een waarde meegeven en $_GET vervangen door $row

<?php
include('config.php'); 
echo "<table border=1 cellpadding=5 cellspacing=0 > 
        <tr>
        <td><b>Nr</b></td> 
        <td><b>Klant</b></td> 
        <td><b>Status</b></td> 
      </tr>"; 
$result = mysql_query("SELECT * FROM `order` ORDER BY `id` DESC") or trigger_error(mysql_error()); 
while($row = mysql_fetch_array($result)){ 
foreach($row AS $key => $value) { $row[$key] = stripslashes($value); } 
echo "<tr>  
        <td valign='top'>" . nl2br( $row['nr']) . "</td>  
        <td valign='top'>" . nl2br( $row['klant']) . "</td>  
        <td valign='top'>" . showstatus(nl2br( $row['status']) ). "</td>
        <td valign='top'><a href=index.php?page=edit&id={$row['id']}>Edit</a></td>
        <td valign='top'><a href=index.php?page=tasks&id={$row['id']}>Tasks</a></td> 
      </tr>"; 
} 
echo "</table>"; 
echo "<br /><br /><a href=index.php?page=new>New Row</a>";
?>



<?php
function showstatus($status){
    if ( $status == "Pending"){
        echo "<span class=\"pending\">Pending</span>";
        } else {
        echo "<br /><br />No information found in the status row. Please check your code.";
        }
}
?>


Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.

Bedankt! En ik snap het :)

Hij echoed nu alleen eerst de else en dan de if waarde, en dit doet hij bovenaan de tabel, hoe kan dit? De functie wordt binnen de while loop en de td tags uitgevoerd?

** Update:

Ik heb nu nog 2 waarden toegevoegd in een elseif statement, en deze werkt nu goed. Hij laat nu niet meer de else echo zien. Hij laat alles nog wel zien boven de tabel.
Iemand een idee en een hint in wat ik de oplossing ik kan vinden?
Hier heb je drie kolommen:
<?php
echo "<table border=1 cellpadding=5 cellspacing=0 >
<tr>
<td><b>Nr</b></td>
<td><b>Klant</b></td>
<td><b>Status</b></td>
</tr>";
?>
Hier ineens vijf:
<?php
echo "<tr>
<td valign='top'>" . nl2br( $row['nr']) . "</td>
<td valign='top'>" . nl2br( $row['klant']) . "</td>
<td valign='top'>" . showstatus(nl2br( $row['status']) ). "</td>
<td valign='top'><a href=index.php?page=edit&id={$row['id']}>Edit</a></td>
<td valign='top'><a href=index.php?page=tasks&id={$row['id']}>Tasks</a></td>
</tr>";
}
?>
Verder zou ik het gebruik van single en double quotes omdraaien. Nu krijg je single quotes in je XHTML.

Reageren