Tengo un sistema de Ordenes de trabajo que funciona con sesiones, a cada orden de trabajo se le pueden ir agregando productos como con un carrito de compras, hasta aqui todo va bien. Cada producto tiene un codigo que se debe de ir incrementando segun en los ultimos 3 digitos algo asi: 31253301001
esstos ultimos digitos los toma de un campo de una base de datos mysql, o sea lo toma de la base le incrementa 1, lo guarda en una session:
Código PHP:
$productos = $_SESSION['PRODUCTOS'];
$i=1;
if(!isset($productos))
{
$connector->w_sql = "SELECT * FROM maestro WHERE codigo = '$id_modelo'";
$connector->WMySQLQuery();
$resultado = $connector-> WMySQLResult();
$row = mysql_fetch_array($resultado);
$codigo_inc = $row['folio'] + 1;
switch ($codigo_inc) {
case ($codigo_inc < 10) :
$prefijo = "0";
break;
case ($codigo_inc >9 && $folio < 100) :
$prefijo = "";
break;
}
$codigo = $id_modelo.$prefijo.$codigo_inc;
$productos = array ( array ('id_orden' => $id_orden , 'codigo' => $codigo ,'producto' => $producto, 'id_modelo' => $id_modelo,
'id_cliente' => $id_cliente, 'id_vendedor' => $id_vendedor, 'folio' => $row['folio'], 'color' => $color ));
}
else
{
$connector->w_sql = "SELECT * FROM maestro WHERE codigo = '$id_modelo'";
$connector->WMySQLQuery();
$resultado = $connector-> WMySQLResult();
$row = mysql_fetch_array($resultado);
foreach($productos as $ind => $item) {
if ($item['id_modelo'] == $row['codigo'] && $item['color'] == $row['master'])
{
$i++;
}
}
$codigo_inc = $row['folio'] + $i;
switch ($codigo_inc) {
case ($codigo_inc < 10) :
$prefijo = "0";
break;
case ($codigo_inc >9 && $folio < 100) :
$prefijo = "";
break;
}
$codigo = $id_modelo.$prefijo.$codigo_inc;
array_push($productos, array ('id_orden' => $id_orden , 'codigo' => $codigo ,'producto' => $producto, 'id_modelo' => $id_modelo, 'id_cliente' => $id_cliente, 'id_vendedor' => $id_vendedor, 'folio' => $codigo_inc,'color' => $color));
}
$_SESSION['PRODUCTOS'] = $productos;
Alguien tiene una idea de como puedo proteger el uso de este cosecutivo si alguien esta capturando una orden?