Jump to content

auto generate did not work


newphpcoder

Recommended Posts

Hi..

 

I have code for auto generate but I got encountered problem that the SR number did not generate they still 120330001 even though I already save that SR number in my database.

 

I want to happen is after I click the save button the SR number will be 120330002.

 

here is my code:

 

<?php                                                                          
   error_reporting(0);
   date_default_timezone_set("Asia/Singapore"); //set the time zone  
$con = mysql_connect('localhost', 'root','');

if (!$con) {
    echo 'failed';
    die();
}

mysql_select_db("mes", $con);
$sr_date =date('Y-m-d H:i:s');

$sql = "SELECT sr_number FROM receiving_materials ORDER BY sr_date DESC LIMIT 1"; 
        $result = mysql_query($sql, $con);
        if (!$result) {
            echo 'failed'; 
            die();
        }
        $total = mysql_num_rows($result);
        if ($total <= 0) {
            $currentSRNum = 1;
        } 
        else {
//------------------------------------------------------------------------------------------------------------------
            // Stock Number iteration.... 
            $row = mysql_fetch_assoc($result);
            
            $currentSRNum = (int)(substr($row['sr_num'],0,3));
            
            $currentSRYear  = (int)(substr($row['sr_num'],2,2));
            $currentSRMonth = (int)(substr($row['sr_num'],0,2));
            
            $currentYear  = (int)(date('y'));
            $currentMonth = (int)(date('m'));
            $currentDay = (int)(date('d'));
            
            
            if ($currentYear == $currentSRYear) {
                if ($currentMonth == $currentSRMonth) {
                    $currentSRNum = $currentSRNum + 1;
                }
                if ($currentMonth > $currentSRMonth) {
                    $currentSRNum = 1;
                }
                if ($currentDay > $currentSRDay) {
                    $currentSRNum = 1;
                }
            }  
            if ($currentYear > $currentRefYear) {      
                $currentSRNum = 1;                    
            }                                          
        }
//------------------------------------------------------------------------------------------------------------------         
        $yearMonth = date('ymd');    
        $currentSR = $yearMonth . sprintf("%04d", $currentSRNum); 
        
        
$sr_date = $_GET['sr_date'];
$sr_number = $_GET['sr_number'];
$si_num = $_GET['si_num'];
$s_name = $_GET['s_name'];
$po_num = $_GET['po_num'];
$qty = $_GET['qty'];
$mat_code = $_GET['mat_code'];
$mat_desc = $_GET['mat_desc'];
$wh_code = $_GET['wh_code'];
$bin_loc = $_GET['bin_loc'];        
?>
<html>
<title>Stock Requisition</title>
<head>
<style type="text/css">
#ddcolortabs{
margin-left: 2px;
padding: 0;
width: 100%;
background: transparent;
voice-family: "\"}\"";
voice-family: inherit;
padding-left: 2px;
}

#ddcolortabs ul{
font: bold 12px Arial, Verdana, sans-serif;
margin:0;
padding:0;
list-style:none;
}

#ddcolortabs li{
display:inline;
margin:0 2px 0 0;
padding:0;
text-transform:uppercase;
}


#ddcolortabs a{
float:left;
color: white;
background: #8cb85c url(layout_image/color_tabs_left.gif) no-repeat left top;
margin:2px 2px 0 0;
padding:0px 0 1px 3px;
text-decoration:none;
letter-spacing: 1px;
}

#ddcolortabs a span{
float:right;
display:block;
/*background: transparent url(layout_image/color_tabs_right.gif) no-repeat right top;*/
padding:6px 9px 2px 6px;
}

#ddcolortabs a span{
float:none;
}


#ddcolortabs a:hover{
background-color: #678b3f;
}

#ddcolortabs a:hover span{
background-color: #678b3f ;
}

#ddcolortabs #current a, #ddcolortabs #current span{ /*currently selected tab*/
background-color: #678b3f;
}
</style>
<style>
#SR_date{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
    
}
#SR_number{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 410px;
    top : 10px;
    
}
table {          
    margin: 10px;
    font-family: Arial, Helvetica, sans-serif;  
    font-size: .9em;
    border: 1px solid #DDD;
}

th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    background: #694;
    color: #FFF;
    padding: 2px 6px;
    border-collapse: separate;
    border: 1px solid #000; 
}    

td {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    border: 1px solid #DDD;
    text-align: left;
}

#RequestedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
} 

#ApprovedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 15px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
}

#ReceivedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 15px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
}

#SI_number{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 20px;
    
}
.LLabelRM {
display: block;
float: left;
width: 7em;
margin-right: 10px;
}

.LLabelSecRM {
display: block;
float: left;
width: 7.7em;
margin-left : 0px;
}

.LFieldRM {
float: left;
margin-right: 595px;   
}

.LFieldSecRM {
float: left;
margin-right: 15px;   
}
.LFieldSec1RM {
float: left;
margin-right: 350px;   
}
#save_btn {
    position: relative;
    top: 25px;
    margin-left: 7px;
}

</style>

<script type="text/javascript">
function save_rm(){
    var sr_date = document.getElementById("sr_date").value;
    var sr_number = document.getElementById("sr_number").value;
    var si_num = document.getElementById("si_num").value;
    var s_name = document.getElementById("s_name").value;
    var po_num = document.getElementById("po_num").value;
    var qty = document.getElementById("qty").value;
    var mat_code = document.getElementById("mat_code").value;
    var mat_desc = document.getElementById("mat_desc").value;
    var wh_code = document.getElementById("wh_code").value;
    var bin_loc = document.getElementById("bin_loc").value;

    document.receiving_form.action="ReceivingMaterialsSave.php?sr_date="+sr_date+"&sr_number="+sr_number+"&si_num="+si_num+
    "&s_name="+s_name+"&po_num="+po_num+"&qty="+qty+"&mat_code="+mat_code+"&mat_desc="+mat_desc+"&wh_code="+wh_code+
    "&bin_loc="+bin_loc;
    document.receiving_form.submit();
}
</script>
</head>
<body>
<form name="receiving_form">
<div id="ddcolortabs">
<ul>
<li> <a href="ParameterSettings.php" title="Parameter Settings"><span>Parameter Settings</span></a></li>
<li id="current"><a href="ReceivingMaterials.php" title="Receiving Materials"><span>Receiving Materials</span></a></li>
<li><a href="StockRequisition.php" title="Stock Requisition"><span>Stock Requisition</span></a></li>
<li style="margin-left: 1px"><a href="kanban_report.php" title="WIP Report"><span>Wip Report</span></a></li>
</ul>
</div>
<div id="SR_date">
<label>Date :</label>
<input type="text" name="sr_date" value="<?php echo $sr_date; ?>" size="16" readonly="readonly" style="border: none;">    
</div>
<div id="SR_number">
<label>RM# :</label>
<input type="text" name="sr_number" value="<?php echo $currentSR; ?>" size="9" readonly="readonly" style="font-weight: bold; border: none;"> 
</div> 
<div id="SI_number">
<label class="LLabelRM">SI/DR# :</label>
<input type="text" name="si_num" id="si_num" class="LFieldRM" value="" size="25">
<label class="LLabelRM">Supplier Name :</label>
<input type="text" name="s_name" id="s_name" class="LFieldRM" value="" size="25">
<label class="LLabelSecRM">PO # :</label>
<input type="text" name="po_num" id="po_num" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">Quantity :</label>
<input type="text" name="qty" id="qty" class="LFieldSec1RM" value="" size="25">
<label class="LLabelSecRM">Material Code :</label>
<input type="text" name="mat_code" id="mat_code" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">Material Desc. :</label>
<input type="text" name="mat_desc" id="mat_desc" class="LFieldSec1RM" value="" size="25">
<label class="LLabelSecRM">WH Code :</label>
<input type="text" name="wh_code" id="wh_code" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">BIN Location :</label>
<input type="text" name="bin_loc" id="bin_loc" class="LFieldSec1RM" value="" size="25">
</div> 
<div id="save_btn">
<input type="button" name="save" value="save" onclick="save_rm()">
</div>
</form>
</body>
</html>

<?php

    $sql = "INSERT INTO receiving_materials
    (sr_date, sr_number, si_num, s_name, po_num, qty, mat_code, mat_desc, wh_code, bin_loc)
    VALUES
    ('$sr_date', '$sr_number', '$si_num', '$s_name', '$po_num', '$qty', '$mat_code', '$mat_desc', '$wh_code', '$bin_loc')
    ON DUPLICATE KEY UPDATE
    sr_date = '$sr_date', sr_number = '$sr_number', si_num = '$si_num', s_name = '$s_name', po_num = '$po_num',
    qty = '$qty', mat_code = '$mat_code', mat_desc = '$mat_desc', wh_code = 'wh_code', bin_loc = '$bin_loc'";
    $res_receiving = mysql_query($sql, $con) or die(mysql_error());
?>

 

any help is highly appreciated.

 

Thank you

Link to comment
Share on other sites

            $currentSRNum = (int)(substr($row['sr_num'],0,3));
            
            $currentSRYear  = (int)(substr($row['sr_num'],2,2));
            $currentSRMonth = (int)(substr($row['sr_num'],0,2));

 

I would try printing out these values and see if they are really what you expect them to be.  It doesn't look right to me.  I think you want:

 

$currentSRYear = (int)substr($row['sr_num'],0,2);
$currentSRMonth = (int)substr($row['sr_num'],2,2);
$currentSRDay = (int)substr($row['sr_num'],4,2);
$currentSRNum = (int)(substr($row['sr_num'],6,3);

 

Unless I misunderstand the structure of the SR number.  I'm also suspicious of the rules used to increment the number - can you describe what the rules are supposed to be?  Do they start from 1 each day?

Link to comment
Share on other sites

I want to happen is the sr number will be increment for example today date is: 120330 and I add 0001 which will increment everytime I save data.

 

Example SR Number format:

 

1203300001

1203300002

1203300003

1203300004

1203300005

1203300006

this example means that I save SR six times for this day and tomorow the SR would be:

1203310001

 

 

Thank you

 

 

Link to comment
Share on other sites

Ok that makes it clear.  Then you should use this to get the current number:

 

$currentSRNum = (int)(substr($row['sr_num'],6,4);

 

And to know when to increment it is very simple - you should compare the year, month and day together:

 

$currentSRYMD = substr($row['sr_num'], 0, 6);
$currentYMD = date("ymd");
if ($currentYMD > $currentSRYMD) {
  $currentSRNum = 1;
} else {
  $currentSRNum += 1;
}

 

This is much simpler than comparing year, month and day individually.

Link to comment
Share on other sites

Hi..thank you for your codes it works but I have a problem.

 

First my php file is ReceivingMaterials.php and it did file your code is work.

 

<?php                                                                          
   error_reporting(0);
   date_default_timezone_set("Asia/Singapore"); //set the time zone  
$con = mysql_connect('localhost', 'root','');

if (!$con) {
    echo 'failed';
    die();
}

mysql_select_db("mes", $con);
$sr_date =date('Y-m-d H:i:s');

//$sql = "SELECT sr_number FROM stock_requisition ORDER BY sr_date DESC LIMIT 1";
$sql = "SELECT sr_number FROM receiving_materials ORDER BY sr_date DESC LIMIT 1";
        $result = mysql_query($sql, $con);
        
        if (!$result) {
            echo 'failed'; 
            die();
        }
        $total = mysql_num_rows($result);
        if ($total <= 0) {
            $currentSRNum = 1;
        } 
        else {
//------------------------------------------------------------------------------------------------------------------
            // Stock Number iteration.... 
            $row = mysql_fetch_assoc($result);
            
            $currentSRNum = (int)(substr($row['sr_number'],0,3));
            
            $currentSRYear  = (int)(substr($row['sr_number'],2,2));
            $currentSRMonth = (int)(substr($row['sr_number'],0,2));
            $currentSRNum = (int)(substr($row['sr_number'],6,4));
           // $currentSRYear = (int)substr($row['sr_num'],0,2);
           // $currentSRMonth = (int)substr($row['sr_num'],2,2);
           // $currentSRDay = (int)substr($row['sr_num'],4,2);
           // $currentSRNum = (int)substr($row['sr_num'],6,3);
            $currentYear  = (int)(date('y'));
            $currentMonth = (int)(date('m'));
            $currentDay = (int)(date('d'));
            
            
            /*if ($currentYear == $currentSRYear) {
                if ($currentMonth == $currentSRMonth) {
                    $currentSRNum = $currentSRNum + 1;
                }
                if ($currentMonth > $currentSRMonth) {
                    $currentSRNum = 1;
                }
                if ($currentDay > $currentSRDay) {
                    $currentSRNum = 1;
                }
            } 
              if ($currentYear > $currentRefYear) {      
                $currentSRNum = 1;                    
            } 
            */
            $currentSRYMD = substr($row['sr_number'], 0, 6);
            $currentYMD = date("ymd");
            if ($currentYMD > $currentSRYMD) 
            {  
                $currentSRNum = 1;
            } 
            else 
            {  
                $currentSRNum += 1;
            }                                           
        }
//------------------------------------------------------------------------------------------------------------------         
        $yearMonth = date('ymd');    
        $currentSR = $currentYMD . sprintf("%04d", $currentSRNum);  
       // $currentSR = $yearMonth . sprintf("%04d", $currentSRNum); 
?>
<html>
<title>Stock Requisition</title>
<head>
<style type="text/css">
#ddcolortabs{
margin-left: 2px;
padding: 0;
width: 100%;
background: transparent;
voice-family: "\"}\"";
voice-family: inherit;
padding-left: 2px;
}

#ddcolortabs ul{
font: bold 12px Arial, Verdana, sans-serif;
margin:0;
padding:0;
list-style:none;
}

#ddcolortabs li{
display:inline;
margin:0 2px 0 0;
padding:0;
text-transform:uppercase;
}


#ddcolortabs a{
float:left;
color: white;
background: #8cb85c url(layout_image/color_tabs_left.gif) no-repeat left top;
margin:2px 2px 0 0;
padding:0px 0 1px 3px;
text-decoration:none;
letter-spacing: 1px;
}

#ddcolortabs a span{
float:right;
display:block;
/*background: transparent url(layout_image/color_tabs_right.gif) no-repeat right top;*/
padding:6px 9px 2px 6px;
}

#ddcolortabs a span{
float:none;
}


#ddcolortabs a:hover{
background-color: #678b3f;
}

#ddcolortabs a:hover span{
background-color: #678b3f ;
}

#ddcolortabs #current a, #ddcolortabs #current span{ /*currently selected tab*/
background-color: #678b3f;
}
</style>
<style>
#SR_date{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
    
}
#SR_number{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 410px;
    top : 10px;
    
}
table {          
    margin: 10px;
    font-family: Arial, Helvetica, sans-serif;  
    font-size: .9em;
    border: 1px solid #DDD;
}

th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    background: #694;
    color: #FFF;
    padding: 2px 6px;
    border-collapse: separate;
    border: 1px solid #000; 
}    

td {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    border: 1px solid #DDD;
    text-align: left;
}

#RequestedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
} 

#ApprovedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 15px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
}

#ReceivedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 15px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
}

#SI_number{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 20px;
    
}
.LLabelRM {
display: block;
float: left;
width: 7em;
margin-right: 10px;
}

.LLabelSecRM {
display: block;
float: left;
width: 7.7em;
margin-left : 0px;
}

.LFieldRM {
float: left;
margin-right: 595px;   
}

.LFieldSecRM {
float: left;
margin-right: 15px;   
}
.LFieldSec1RM {
float: left;
margin-right: 350px;   
}
#save_btn {
    position: relative;
    top: 25px;
    margin-left: 7px;
}

</style>

<script type="text/javascript">
function save_rm(){
    var sr_date = document.getElementById("sr_date").value;
    var sr_number = document.getElementById("sr_number").value;
    var si_num = document.getElementById("si_num").value;
    var s_name = document.getElementById("s_name").value;
    var po_num = document.getElementById("po_num").value;
    var qty = document.getElementById("qty").value;
    var mat_code = document.getElementById("mat_code").value;
    var mat_desc = document.getElementById("mat_desc").value;
    var wh_code = document.getElementById("wh_code").value;
    var bin_loc = document.getElementById("bin_loc").value;

    document.receiving_form.action="ReceivingMaterialsSave.php?sr_date="+sr_date+"&sr_number="+sr_number+"&si_num="+si_num+
    "&s_name="+s_name+"&po_num="+po_num+"&qty="+qty+"&mat_code="+mat_code+"&mat_desc="+mat_desc+"&wh_code="+wh_code+
    "&bin_loc="+bin_loc;
    document.receiving_form.submit();
}
</script>
</head>
<body>
<form name="receiving_form">
<div id="ddcolortabs">
<ul>
<li> <a href="ParameterSettings.php" title="Parameter Settings"><span>Parameter Settings</span></a></li>
<li id="current"><a href="ReceivingMaterials.php" title="Receiving Materials"><span>Receiving Materials</span></a></li>
<li><a href="StockRequisition.php" title="Stock Requisition"><span>Stock Requisition</span></a></li>
<li style="margin-left: 1px"><a href="kanban_report.php" title="WIP Report"><span>Wip Report</span></a></li>
</ul>
</div>
<div id="SR_date">
<label>Date :</label>
<input type="text" name="sr_date" value="<?php echo $sr_date; ?>" size="16" readonly="readonly" style="border: none;">    
</div>
<div id="SR_number">
<label>RM# :</label>
<input type="text" name="sr_number" value="<?php echo $currentSR; ?>" size="9" readonly="readonly" style="font-weight: bold; border: none;"> 
</div> 
<div id="SI_number">
<label class="LLabelRM">SI/DR# :</label>
<input type="text" name="si_num" id="si_num" class="LFieldRM" value="" size="25">
<label class="LLabelRM">Supplier Name :</label>
<input type="text" name="s_name" id="s_name" class="LFieldRM" value="" size="25">
<label class="LLabelSecRM">PO # :</label>
<input type="text" name="po_num" id="po_num" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">Quantity :</label>
<input type="text" name="qty" id="qty" class="LFieldSec1RM" value="" size="25">
<label class="LLabelSecRM">Material Code :</label>
<input type="text" name="mat_code" id="mat_code" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">Material Desc. :</label>
<input type="text" name="mat_desc" id="mat_desc" class="LFieldSec1RM" value="" size="25">
<label class="LLabelSecRM">WH Code :</label>
<input type="text" name="wh_code" id="wh_code" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">BIN Location :</label>
<input type="text" name="bin_loc" id="bin_loc" class="LFieldSec1RM" value="" size="25">
</div> 
<div id="save_btn">
<input type="button" name="save" value="save" onclick="save_rm()">
</div>
</form>
</body>
</html>

 

and after I click save button:

 

it will go to ReceivingMaterialsSave.php

 

<?php                                                                          
   error_reporting(0);
   date_default_timezone_set("Asia/Singapore"); //set the time zone  
$con = mysql_connect('localhost', 'root','');

if (!$con) {
    echo 'failed';
    die();
}

mysql_select_db("mes", $con);
$sr_date =date('Y-m-d H:i:s');

//$sql = "SELECT sr_number FROM stock_requisition ORDER BY sr_date DESC LIMIT 1";
$sql = "SELECT sr_number FROM receiving_materials ORDER BY sr_date DESC LIMIT 1"; 
        $result = mysql_query($sql, $con);
        if (!$result) {
            echo 'failed'; 
            die();
        }
        $total = mysql_num_rows($result);
        if ($total <= 0) {
            $currentSRNum = 1;
        } 
        else {
//------------------------------------------------------------------------------------------------------------------
             // Stock Number iteration.... 
            $row = mysql_fetch_assoc($result);
            
            $currentSRNum = (int)(substr($row['sr_number'],0,3));
            
            $currentSRYear  = (int)(substr($row['sr_number'],2,2));
            $currentSRMonth = (int)(substr($row['sr_number'],0,2));
            $currentSRNum = (int)(substr($row['sr_number'],6,4));
           // $currentSRYear = (int)substr($row['sr_num'],0,2);
           // $currentSRMonth = (int)substr($row['sr_num'],2,2);
           // $currentSRDay = (int)substr($row['sr_num'],4,2);
           // $currentSRNum = (int)substr($row['sr_num'],6,3);
            $currentYear  = (int)(date('y'));
            $currentMonth = (int)(date('m'));
            $currentDay = (int)(date('d'));
            
            
            /*if ($currentYear == $currentSRYear) {
                if ($currentMonth == $currentSRMonth) {
                    $currentSRNum = $currentSRNum + 1;
                }
                if ($currentMonth > $currentSRMonth) {
                    $currentSRNum = 1;
                }
                if ($currentDay > $currentSRDay) {
                    $currentSRNum = 1;
                }
            } 
              if ($currentYear > $currentRefYear) {      
                $currentSRNum = 1;                    
            } 
            */
            $currentSRYMD = substr($row['sr_number'], 0, 6);
            $currentYMD = date("ymd");
            if ($currentYMD > $currentSRYMD) 
            {  
                $currentSRNum = 1;
            } 
            else 
            {  
                $currentSRNum += 1;
            }                                           
        }
//------------------------------------------------------------------------------------------------------------------         
        $yearMonth = date('ymd');    
        $currentSR = $currentYMD . sprintf("%04d", $currentSRNum);  
       // $currentSR = $yearMonth . sprintf("%04d", $currentSRNum); 
        
        
$sr_date = $_GET['sr_date'];
$sr_number = $_GET['sr_number'];
$si_num = $_GET['si_num'];
$s_name = $_GET['s_name'];
$po_num = $_GET['po_num'];
$qty = $_GET['qty'];
$mat_code = $_GET['mat_code'];
$mat_desc = $_GET['mat_desc'];
$wh_code = $_GET['wh_code'];
$bin_loc = $_GET['bin_loc'];        
?>
<html>
<title>Stock Requisition</title>
<head>
<style type="text/css">
#ddcolortabs{
margin-left: 2px;
padding: 0;
width: 100%;
background: transparent;
voice-family: "\"}\"";
voice-family: inherit;
padding-left: 2px;
}

#ddcolortabs ul{
font: bold 12px Arial, Verdana, sans-serif;
margin:0;
padding:0;
list-style:none;
}

#ddcolortabs li{
display:inline;
margin:0 2px 0 0;
padding:0;
text-transform:uppercase;
}


#ddcolortabs a{
float:left;
color: white;
background: #8cb85c url(layout_image/color_tabs_left.gif) no-repeat left top;
margin:2px 2px 0 0;
padding:0px 0 1px 3px;
text-decoration:none;
letter-spacing: 1px;
}

#ddcolortabs a span{
float:right;
display:block;
/*background: transparent url(layout_image/color_tabs_right.gif) no-repeat right top;*/
padding:6px 9px 2px 6px;
}

#ddcolortabs a span{
float:none;
}


#ddcolortabs a:hover{
background-color: #678b3f;
}

#ddcolortabs a:hover span{
background-color: #678b3f ;
}

#ddcolortabs #current a, #ddcolortabs #current span{ /*currently selected tab*/
background-color: #678b3f;
}
</style>
<style>
#SR_date{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
    
}
#SR_number{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 410px;
    top : 10px;
    
}
table {          
    margin: 10px;
    font-family: Arial, Helvetica, sans-serif;  
    font-size: .9em;
    border: 1px solid #DDD;
}

th {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    background: #694;
    color: #FFF;
    padding: 2px 6px;
    border-collapse: separate;
    border: 1px solid #000; 
}    

td {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .7em;
    border: 1px solid #DDD;
    text-align: left;
}

#RequestedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
} 

#ApprovedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 15px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
}

#ReceivedBy{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8em;
    margin-left: 15px;
    width: auto;
    height: auto;
    float: left;
    top : 10px;
}

#SI_number{
    position: relative;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .9em;
    margin-left: 10px;
    width: auto;
    height: auto;
    float: left;
    top : 20px;
    
}
.LLabelRM {
display: block;
float: left;
width: 7em;
margin-right: 10px;
}

.LLabelSecRM {
display: block;
float: left;
width: 7.7em;
margin-left : 0px;
}

.LFieldRM {
float: left;
margin-right: 595px;   
}

.LFieldSecRM {
float: left;
margin-right: 15px;   
}
.LFieldSec1RM {
float: left;
margin-right: 350px;   
}
#save_btn {
    position: relative;
    top: 25px;
    margin-left: 7px;
}

</style>

<script type="text/javascript">
function save_rm(){
    var sr_date = document.getElementById("sr_date").value;
    var sr_number = document.getElementById("sr_number").value;
    var si_num = document.getElementById("si_num").value;
    var s_name = document.getElementById("s_name").value;
    var po_num = document.getElementById("po_num").value;
    var qty = document.getElementById("qty").value;
    var mat_code = document.getElementById("mat_code").value;
    var mat_desc = document.getElementById("mat_desc").value;
    var wh_code = document.getElementById("wh_code").value;
    var bin_loc = document.getElementById("bin_loc").value;

    document.receiving_form.action="ReceivingMaterialsSave.php?sr_date="+sr_date+"&sr_number="+sr_number+"&si_num="+si_num+
    "&s_name="+s_name+"&po_num="+po_num+"&qty="+qty+"&mat_code="+mat_code+"&mat_desc="+mat_desc+"&wh_code="+wh_code+
    "&bin_loc="+bin_loc;
    document.receiving_form.submit();
}
</script>
</head>
<body>
<form name="receiving_form">
<div id="ddcolortabs">
<ul>
<li> <a href="ParameterSettings.php" title="Parameter Settings"><span>Parameter Settings</span></a></li>
<li id="current"><a href="ReceivingMaterials.php" title="Receiving Materials"><span>Receiving Materials</span></a></li>
<li><a href="StockRequisition.php" title="Stock Requisition"><span>Stock Requisition</span></a></li>
<li style="margin-left: 1px"><a href="kanban_report.php" title="WIP Report"><span>Wip Report</span></a></li>
</ul>
</div>
<div id="SR_date">
<label>Date :</label>
<input type="text" name="sr_date" value="<?php echo $sr_date; ?>" size="16" readonly="readonly" style="border: none;">    
</div>
<div id="SR_number">
<label>RM# :</label>
<input type="text" name="sr_number" value="<?php echo $currentSR; ?>" size="9" readonly="readonly" style="font-weight: bold; border: none;"> 
</div> 
<div id="SI_number">
<label class="LLabelRM">SI/DR# :</label>
<input type="text" name="si_num" id="si_num" class="LFieldRM" value="" size="25">
<label class="LLabelRM">Supplier Name :</label>
<input type="text" name="s_name" id="s_name" class="LFieldRM" value="" size="25">
<label class="LLabelSecRM">PO # :</label>
<input type="text" name="po_num" id="po_num" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">Quantity :</label>
<input type="text" name="qty" id="qty" class="LFieldSec1RM" value="" size="25">
<label class="LLabelSecRM">Material Code :</label>
<input type="text" name="mat_code" id="mat_code" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">Material Desc. :</label>
<input type="text" name="mat_desc" id="mat_desc" class="LFieldSec1RM" value="" size="25">
<label class="LLabelSecRM">WH Code :</label>
<input type="text" name="wh_code" id="wh_code" class="LFieldSecRM" value="" size="25">
<label class="LLabelSecRM">BIN Location :</label>
<input type="text" name="bin_loc" id="bin_loc" class="LFieldSec1RM" value="" size="25">
</div> 
<div id="save_btn">
<input type="button" name="save" value="save" onclick="save_rm()">
</div>
</form>
</body>
</html>

<?php
  /*  $sql = "INSERT INTO receiving_materials
    (sr_date, sr_number, si_num, s_name, po_num, qty, mat_code, mat_desc, wh_code, bin_loc)
    VALUES
    ('$sr_date', '$sr_number', '$si_num', '$s_name', '$po_num', '$qty', '$mat_code', '$mat_desc', '$wh_code', '$bin_loc')
    ON DUPLICATE KEY UPDATE
    sr_date = '$sr_date', sr_number = '$sr_number', si_num = '$si_num', s_name = '$s_name', po_num = '$po_num',
    qty = '$qty', mat_code = '$mat_code', mat_desc = '$mat_desc', wh_code = 'wh_code', bin_loc = '$bin_loc' 
    WHERE sr_number = '$sr_number' ORDER BY sr_number";    */
    
    $sql = "INSERT INTO receiving_materials
    (sr_date, sr_number, si_num, s_name, po_num, qty, mat_code, mat_desc, wh_code, bin_loc)
    VALUES
    ('$sr_date', '$sr_number', '$si_num', '$s_name', '$po_num', '$qty', '$mat_code', '$mat_desc', '$wh_code', '$bin_loc')
    ON DUPLICATE KEY UPDATE
    sr_date = '$sr_date', sr_number = '$sr_number', si_num = '$si_num', s_name = '$s_name', po_num = '$po_num',
    qty = '$qty', mat_code = '$mat_code', mat_desc = '$mat_desc', wh_code = 'wh_code', bin_loc = '$bin_loc'";
    $res_receiving = mysql_query($sql, $con) or die(mysql_error());    
?>

After it save in database the SR Number still the SR Number that the previous save for example the previous SR number that I save is 1203300006

Thank you

Link to comment
Share on other sites

Ok that makes it clear.  Then you should use this to get the current number:

 

$currentSRNum = (int)(substr($row['sr_num'],6,4);

 

And to know when to increment it is very simple - you should compare the year, month and day together:

 

$currentSRYMD = substr($row['sr_num'], 0, 6);
$currentYMD = date("ymd");
if ($currentYMD > $currentSRYMD) {
  $currentSRNum = 1;
} else {
  $currentSRNum += 1;
}

 

This is much simpler than comparing year, month and day individually.

 

Which is basically the exact same solution I gave him in this thread: http://www.phpfreaks.com/forums/index.php?topic=356316.msg1683820#msg1683820

 

But, he said he "solved" it using the same code he provided above and I questioned the same problems you pointed out. << Psycho adds newphpcoder to his ignore list >>

Link to comment
Share on other sites

Hi...

 

I've notice in my code for autogenerate sr number, when no data was save in the database the sr number became 0001 the date did not display.

 

$sql = "SELECT sr_number FROM stock_requisition ORDER BY sr_date DESC LIMIT 1";
        $result = mysql_query($sql, $con);
        
        if (!$result) {
            echo 'failed'; 
            die();
        }
        $total = mysql_num_rows($result);
        if ($total <= 0) {
            $currentSRNum = 1;
            
        } 
        else {
//------------------------------------------------------------------------------------------------------------------
            // Stock Number iteration.... 
            $row = mysql_fetch_assoc($result);
            
            $currentSRNum = (int)(substr($row['sr_number'],0,3));
            
            $currentSRYear  = (int)(substr($row['sr_number'],2,2));
            $currentSRMonth = (int)(substr($row['sr_number'],0,2));
            $currentSRNum = (int)(substr($row['sr_number'],6,4));
            $currentYear  = (int)(date('y'));
            $currentMonth = (int)(date('m'));
            $currentDay = (int)(date('d'));

            $currentSRYMD = substr($row['sr_number'], 0, 6);
            $currentYMD = date("ymd");
            if ($currentYMD > $currentSRYMD) 
            {  
                $currentSRNum = 1;
            } 
            else 
            {  
                $currentSRNum += 1;
            }                                           
        }
//------------------------------------------------------------------------------------------------------------------         
        $yearMonth = date('ymd');    
        $currentSR = $currentYMD . sprintf("%04d", $currentSRNum);

 

it works perfectly if theirs an sr number was already save in my database.

 

Thank you

Link to comment
Share on other sites

  • 3 weeks later...

Hi...

 

how can I add jo in my autogenerate number :

for example:

from: 1204200001

to: JO1204200001

$sql = "SELECT jo_number FROM job_order ORDER BY jo_date DESC LIMIT 1";
        $result = mysql_query($sql, $con);
        
        if (!$result) {
            echo 'failed'; 
            die();
        }
        $total = mysql_num_rows($result);
        if ($total <= 0) {
            $currentSRNum = 1;
             $currentYear  = (int)(date('y'));
            $currentMonth = (int)(date('m'));
            $currentDay = (int)(date('d'));
           
            $currentSRYMD = substr($row['jo_number'], 0, 6);
            $currentYMD = date("ymd");
            if ($currentYMD > $currentSRYMD) 
            {  
                $currentSRNum = 1;
            } 
            else 
            {  
                $currentSRNum += 1;
            }     
             
        } 
        else {
//------------------------------------------------------------------------------------------------------------------
            // Stock Number iteration.... 
            $row = mysql_fetch_assoc($result);
            
            $currentSRNum = (int)(substr($row['jo_number'],0,3));
            
            $currentSRYear  = (int)(substr($row['jo_number'],2,2));
            $currentSRMonth = (int)(substr($row['jo_number'],0,2));
            $currentSRNum = (int)(substr($row['jo_number'],6,4));

            $currentYear  = (int)(date('y'));
            $currentMonth = (int)(date('m'));
            $currentDay = (int)(date('d'));
           
            $currentSRYMD = substr($row['jo_number'], 0, 6);
            $currentYMD = date("ymd");
            if ($currentYMD > $currentSRYMD) 
            {  
                $currentSRNum = 1;
            } 
            else 
            {  
                $currentSRNum += 1;
            }                                           
        }
//------------------------------------------------------------------------------------------------------------------         
        $yearMonth = date('ymd');    
        $currentSR = $currentYMD . sprintf("%04d", $currentSRNum);

 

Thank you

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.