Orderstatus

Status
Niet open voor verdere reacties.

mvraven

Gebruiker
Lid geworden
16 jul 2009
Berichten
48
Ik heb een pagina waarbij ik een order in kan voeren met een bepaalde status. Hierdoor kan mijn klant online de status van de order zien.
Ik heb een script die een order aanmaakt en een script die de order kan aanpassen. Bij de script van het aanpassen wil ik dat er een wijzigingsdatum automatisch wordt geplaatst in de tabel in mijn database. Deze datum moet dan de current date zijn. Mijn aanpas script ziet er als volgt uit:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

	<style type="text/css" media="screen" title="Main Stylesheet">@import "../../../css/style-xpanel-pagina.css";</style>

</head>
<body>
<?
include_once('../../../configuratie/connect.php');

if(isset($_GET['id']) && ctype_digit($_GET['id'])) {
$id = mysql_real_escape_string($_GET['id']);

mysql_query
("UPDATE orders SET wijzigdatum = '{'$currentdate'}', factuurnummer = '{$_POST['factuurnummer']}', naam = '{$_POST['naam']}',  status = '{$_POST['status']}', postcode = '{$_POST['postcode']}', huisnr = '{$_POST['huisnr']}'  WHERE id = '$id'")or die (mysql_error("Query kon niet worden uitgevoerd"));

echo '<font class="succes"><center>De order is succesvol aangepast. Een moment geduld a.u.b.</center></font>';
}else{
echo '<font class="error"><center>Er is iets misgegaan. Een moment geduld a.u.b.</center></font>';
}
echo '<meta http-equiv="refresh" content="2;URL=index.php">';
?>
</body>
</html>

Zoals je ziet heb ik neergezet dat de wijzigdatum geupdate moet worden naar de current date. MAAR HET WERKT NIET!!!

Heeft er iemand een oplossing?

Thnx!
 
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     <style type="text/css" media="screen" title="Main Stylesheet">@import "../../../css/style-xpanel-pagina.css";</style>
 </head>
<body>
<?
include_once('../../../configuratie/connect.php');
if(isset($_GET['id']) && ctype_digit($_GET['id'])) 

  $id = mysql_real_escape_string($_GET['id']);
  mysql_query("UPDATE orders  SET wijzigdatum = '{".$currentdate."}', factuurnummer = '{".$_POST['factuurnummer']."}', naam = '{".$_POST['naam']."}',  status = '{".$_POST['status']."}', postcode = '{".$_POST['postcode']."}', huisnr = '{".$_POST['huisnr']."}'  WHERE id = '".$id.'")or die (mysql_error("Query kon niet worden uitgevoerd"));
 
Nu krijg ik de volgende foutmelding:

Parse error: syntax error, unexpected T_CLASS in
 
sorry schoonheidsfout
PHP:
WHERE id = '".$id."')

Thnx het werkt! Heb ik nog een volgende kwestie:

Als een order wordt gewijzigd wordt ook de orderstatus gewijzigd. Indien een order de status afgehandeld krijgt wordt deze automatisch in een archief geplaatst. In het archief kan je een order verwijderen. Wat ik nu graag wil is als een order de status afgehandeld heeft en in het archief staat en de wijzigingsdatum langer is dan 31 dagen dat deze automatisch verwijderd wordt door het delete script.

Het archief script ziet er als volgt uit:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

	<style type="text/css" media="screen" title="Main Stylesheet">@import "../../../css/style-xpanel-pagina.css";</style>

</head>
<body>
<div id="content">
<div id="omschrijving">
<table>
<tr>
<td width="800px">Via de module <b>Order online</b> is het mogelijk alle bestellingen van klanten toe te voegen en statussen aan te passen. 
De klant kan dan online de bestellingstatus inzien.
Indien de bestelling de status afgehandeld heeft, word deze automatisch in het archief geplaatst.</td>
</tr>
</table>
</div>
<center><br>
	<p><font class="nieuw">-[ <a href="nieuw.php">Ik wil een nieuwe order toevoegen</a> ]-  -[ <a href="archief.php">Bezoek het archief</a> ] - -[ <a href="index.php">Overzicht</a> ] -</font></p></td></tr></center>
<center>
Ik wil zoeken op factuurnummer: <form method="post" name="bestelstatus" action="search.php" <input style="width: 130px; border: 1px solid #337860;" type="text" name="factuurnummer" maxlength="80"> <input type="submit"name="submit" value="Zoek!">
</form>

</center>
<div id="pages">
<table>
<tr width="800px">
<td><font class="titel">Overzicht bestellingen archief</font></td>
</tr>
</table>

	<table>
	<tr>
	<td width="65px"><b>Datum</b></center></td>
	<td width="75px"><b>Wijzig dtm</b></td>
	<td width="90px"><b>Factuurnummer</b></td>
	<td width="575px"><b>Naam</b></td>
	</tr>
	</table>

<table>

<?
include_once('../../../configuratie/connect.php');

$query 	=  "SELECT * FROM orders WHERE status LIKE 'afgehandeld' ORDER BY datum";
$result	=  mysql_query($query)
			or die ("Query kon niet worden uitgevoerd");

if (mysql_num_rows($result) >= 1)
{
while($row = mysql_fetch_assoc($result))
{
	extract($row);

if($rowcount % 2 ==0) {
	echo '<tr style="background-color:#f2f2f1;">';
} else {
	echo '<tr style="background-color: #fff;">';
}
	$rowcount ++;
	
	echo '<td width="65px">';
	echo '<b>'.$row['datum'].'</b>';
	echo '</a>';
	echo '</td>';

	echo '<td width="75px">';
	echo '<b>'.$row['wijzigdatum'].'</b>';
	echo '</a>';
	echo '</td>';
	
	echo '<td width="90px">';
	echo '<b>'.$row['factuurnummer'].'</b>';
	echo '</a>';
	echo '</td>';
	
	echo '<td width="575px;">';
	echo '<b>'.$row['naam'].'</b>';
	echo '</td>';
		
	echo '<td width="50px;">';
	echo '<center>[<a href="delete.php?id='.$id.'"><font class="error">delete</font></a>]</center>';
	echo '</td>';
	
	
	echo '</tr>';	
}

}else{
	echo '<tr><td><font class="error">Momenteel geen afgehandelde bestellingen in het archief.</font></td></tr>';
	}
?>

</table>
<br>
</div>

<center>
	<p><font class="nieuw">-[ <a href="index.php">Terug</a> ]-</font></p></td></tr>
</center>

</div></body>
</html>

En mijn delete script als volgt:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

	<style type="text/css" media="screen" title="Main Stylesheet">@import "../../../css/style-xpanel-pagina.css";</style>

</head>
<body>
<?php 
include_once('../../../configuratie/connect.php');

if(isset($_GET['id']) && ctype_digit($_GET['id'])) {  
$id = mysql_real_escape_string($_GET['id']); 
                
mysql_query("DELETE FROM orders WHERE id = '".$id."' ") or die(mysql_error('Query kon niet worden uitgevoerd.'));

echo '<font class="succes"><center>De order is succesvol verwijderd. Een moment geduld a.u.b.</center></font>';
}else{
echo '<font class="error"><center>Er is iets misgegaan. Een moment geduld a.u.b.</center></font>';
}
echo '<meta http-equiv="refresh" content="2;URL=index.php">';
?>
</body>
</html>

Kan jij mij helpen aan de PHP code waardoor een order automatisch verwijderd word als de wijzigingsdatum ouder is als 31 dagen en als het de status afgehandeld heeft?

Thnx!
 
Ik persoonlijk zou ze samen laten en persoonlijk zou er bij mij twee timestamps vooraanstaan staan één aangemaakt één laast gewijzigt Dit maakt mogelijk als alles in de soep draait oude bakups te imputen en onnodig lijnen te backupen.zodat je master backups hebt en een tussentijdse
omdat als je naar je thuis syncroon maakt hij niet alles hoeft te hebben
En nadien kan je ook enkel de laaste 2 maand laten zien. of volledig boekjaar enz maar dan moet je design op voorhand al goed doordacht zijn.

verkorte code hieronder om tr te kleuren
PHP:
    echo '<tr style="background-color:'.(($rowcount % 2 ==0)?'#f2f2f1':'#fff'). ' ">';

PHP:
 echo '<tr class="'.(($rowcount % 2 ==0)?'even':'oneven'). ' ">';
 
Zo heel uitgebreid programma is het niet hoor. En het is ook totaal niet nodig om het voor een boekjaar bij te houden.
Het is gewoon dat men online kan zien of de order klaar is en opgehaald kan worden. En als die opgehaald is komt deze dus in het archief. En daar moet deze gewoon na 31 dagen uitgehaald worden. Verder is dat systeem nergens voor nodig.

Nu moet ik zelf na 31 dagen de order eruit halen. En dat kost tijd en geld haha
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan