PHP - Crear Código de 6 digitos para materiales

 
Vista:
Imágen de perfil de Franklin
Val: 22
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Crear Código de 6 digitos para materiales

Publicado por Franklin (19 intervenciones) el 29/09/2019 00:47:31
Hola a todos, Dios les bendiga

Acudo a ustedes en esta oportunidad para solicitarles su valiosa ayuda; Tengo un formulario modal para crear una entrada de materiales en una base de datos con php, y el mismo, dependiendo de las diferentes selecciones, consulta la bbdd y trae la letra que corresponda con la selección para ir formando el código de 6 dígitos necesarios.

He logrado crear ese código, pero de una manera estática por así decirlo, es decir, que a través javascript envío el valor del input a un archivo JS que procesa el dato, y a través de un swicth le asigno la letra necesaria según sea el caso.

A continuación muestro un fragmento del script que utilizo para ello.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<script type="text/javascript">
function getCode() {
  var co1;
  var co2;
  var co3;
  var coda = document.getElementById('famid').value;
  var code = document.getElementById('tipoid').value;
  var codi = document.getElementById('schid').value;
 
  switch (coda){
    case '1'  : co1='P'; break; //TUBERIA
    case '2'  : co1='N'; break; //NIPLE
    case '3'  : co1='C'; break; //CODO->WELDING FITTING
    case '4'  : co1='T'; break; //TEE->WELDING FITTING
    case '5'  : co1='A'; break; //CAPS
    case '6'  : co1='R'; break; //REDUCCION
    case '7'  : co1='F'; break; //BRIDA
    case '8'  : co1='C'; break; //CODO->FORGED STEEL FITTING
    default : co1=''; break;
  }
  switch (code) {
    case 'SCH STD' : co3 = 'T'; break;
    case 'SCH XS'   : co3 = 'F'; break;
    case 'SCH XXS'  : co3 = 'X'; break;
    case 'SCH 5'    : co3 = '5'; break;
    case 'SCH 10'  : co3 = '1'; break;
    case 'SCH 20'  : co3 = '2'; break;
    case 'SCH 30'  : co3 = '3'; break;
    default : co3 = ''; break;
  }
  switch (codi) {
    case 'CLASE 150'  : co6 = 'X'; break;
    case 'CLASE 300'  : co6 = 'Z'; break;
    case 'CLASE 900'  : co6 = 'P'; break;
    case 'CLASE 1000' : co6 = 'W'; break;
    case 'CLASE 1500' : co6 = 'M'; break;
    case 'CLASE 3000' : co6 = 'Y'; break;
    case '600 PSI'    : co6 = 'S'; break;
    case '800 PSI'    : co6 = 'O'; break;
    case '1000 PSI'   : co6 = 'D'; break;
    case '1500 PSI'   : co6 = 'Q'; break;
    case '2000 PSI'   : co6 = 'C'; break;
    default : co6 = ''; break;
  }
  codmat=co1+co2+co3;
  document.getElementById('codmat').value=codmat;
}
</script>
 
<div class="clearfix">
  <span class="text-info font-weight-bold float-left font-italic bigger-120">Formulario de Registro de Materiales</span>
  <span class="float-right font-italic">Código Material:
    <!-- Aqui se muestra el codigo que se va creando -->
    <input class="font-weight-bold" type="text" id="codmat" name="codmat" data-readonly >
    <!-- ------------------------------------------------------------ -->
  </span>
</div>
<form name="formate" id="formate" role="form" method="post" accept-charset="utf-8">
  <div class="col-sm-12">
    <div class="row align-items-center">
      <div class="col-sm-3">
        <span class="bigger-80">Tipo Material</span>
        <select class="form-control form-control-sm" id="famid" name="famid" onchange="javascript:getCode();" >
          <option value="">Seleccione</option>
        </select>
      </div>
      <div class="col-sm-3">
        <span class="bigger-80">Sub-Tipo Material</span>
        <select class="form-control form-control-sm" id="tipoid" name="tipoid" onchange="javascript:getCode();" >
          <option value="">Seleccione</option>
        </select>
      </div>
      <div class="col-sm-3">
        <span class="bigger-80">Schedule</span>
        <select class="form-control form-control-sm" id="schid" name="schid" onchange="javascript:getCode();">
          <option value="">Seleccione</option>
        </select>
      </div>
    </div>
  </div>
</form>
<script type="text/javascript">
  $(document).ready(function(){
    /*Desde aqui se inicia el llamado a los diferentes datos dependiendo del tipo de selección efectuada*/
 
    /*llamado de la familia del material seleccionado*/
    $("#mateid").change(function(){
      $.get("core/controlador/getFamilia.php","mateid="+$("#mateid").val(), function(data){
        $("#famid").html(data);
        console.log(data);
      });
    });
    /*llamado del tipo de familia de la familia del material seleccionado*/
    $("#famid").change(function(){
      $.get("core/controlador/getTipoMat.php","famid="+$("#famid").val(), function(data){
        $("#tipoid").html(data);
        console.log(data);
      });
    });
    /*llamado del tipo de schedule seleccionado*/
    $("#famid").change(function(){
      $.get("core/controlador/getSchedule.php","famid="+$("#famid").val(), function(data){
        $("#schid").html(data);
        console.log(data);
      });
    });
  });
</script>

Cabe destacar que las opciones del switch son datos que se encuentran en la BBDD, pero como no he encontrado la forma de consultarlos, seleccionar la letra y traerla a un input o un div, opté por hacerlo como esta en el anterior script.

Lo que deseo es saber la forma de consultar la base de datos y traer la información directamente sin necesidad del switch.

Espero entiendan mi solicitud y puedan aportarme una idea para lograr el cometido

Mil gracias, Dios les bendiga
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder