AJAX - SOLUCION A PROBLEMA CON MYSQL Y PHP

 
Vista:

SOLUCION A PROBLEMA CON MYSQL Y PHP

Publicado por Daniel (1 intervención) el 10/12/2021 16:23:15
Buenos dias, deseo que me apoyen con una idea resulta que mi sistema hace lo siguiente ejemplo al presionar mi boton que esta en estado verde y en la base de datos su estado es "a" cuando presiono pasa a estado rojo y en la base de datos es "d" y asi sucesivamente pero aqui viene mi dificultad resulta que le he creado un filtro con fechas cuando se abre la pestaña me arroja datos creados ese mismo dia pero al ejecutar el filtro y cambiar las fechas y presionar el boton para cambiar el estado me vuelve a arrojar al dia actual, lo que deseo es hacer que cuando presione el boton me cambie el estado en la base de datos y tambien la apariencia del boton pero me deje con el filtro de fechas que elegi, estoy tratando de resolver pero no encuentro la solucion. Agradecere me brinden una solucion. asimismo tengo una funcion aprobacion que cambia la apariencia del boton. Acontinuacion mi codigo.

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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<?php
        session_start();
        include_once '../conexion.php';
        include_once 'clases/papeleta.entidad.php';
        include_once 'clases/papeleta.model.php';
 
 
 
    if($_SESSION['tipo_usu']=='a' or $_SESSION['tipo_usu']=='d'){
        $titulo='Jefe';
       } else {
        header('location:error.php');
     }
 
 
 
        if(!empty($_GET['aprob_jd'])){
            $id=$_GET['aprob_jd'];
            $cans=mysqli_query($conexion, "SELECT * FROM tbpapeleta WHERE aprob_jd='a' and id='$id'");
            if($dat=mysqli_fetch_array($cans)){
                $xSQL="UPDATE tbpapeleta SET aprob_jd='d', u_jd='$nombre' WHERE id='$id'";
                mysqli_query($conexion, $xSQL);
                header('location:d_papel_comision.php');
            }else{
                $xSQL="UPDATE tbpapeleta SET aprob_jd='a', u_jd='$nombre' WHERE id='$id'";
                mysqli_query($conexion, $xSQL);
                header('location:d_papel_comision.php');
            }
        }
 
 
 
 
        $alm = new Papeleta();
        $model = new PapeletaModel();
 
        if(isset($_REQUEST['action']))
        {
            switch($_REQUEST['action'])
            {
                case 'actualizar':
                    $alm->__SET('id',           $_REQUEST['id']);
                    $alm->__SET('cip',          $_REQUEST['cip']);
                    $alm->__SET('idp',          $_REQUEST['idp']);
                    $alm->__SET('condicion',    $_REQUEST['condicion']);
                    $alm->__SET('fecha',        $_REQUEST['fecha']);
                    $alm->__SET('motivo',       $_REQUEST['motivo']);
 
                    $model->Actualizar($alm);
                    header('Location: d_papel_comision.php');
                    break;
 
                case 'registrar':
                    $alm->__SET('cip',          $_REQUEST['cip']);
                    $alm->__SET('idp',          $_REQUEST['idp']);
                    $alm->__SET('condicion',    $_REQUEST['condicion']);
                    $alm->__SET('fecha',        $_REQUEST['fecha']);
                    $alm->__SET('motivo',       $_REQUEST['motivo']);
 
                    $model->Registrar($alm);
                    echo mensajes('La papeleta ha sido registrada con exito!!!','azul');
                    header("refresh: 2; url = d_papel_comision.php");
                    break;
 
                case 'eliminar':
                    $model->Eliminar($_REQUEST['id']);
                    header('Location: d_papel_comision.php');
                    break;
 
                case 'editar':
                    $alm = $model->Obtener($_REQUEST['id']);
                    break;
            }
        }
 
    if(!empty($_POST['fechai']) or !empty($_POST['fechaf']))
    {
      $fechai=$_POST['fechai'];
      $fechaf=$_POST['fechaf'];
    }
    else
    {
      $fechai=date('Y-m-d');
      $fechaf=date('Y-m-d');
    }
 
    ?>
     <html lang="es">
     <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
 
    <link rel="shortcut icon" href="../img/equipo.ico">
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../styles/form-validation.css">
    <link href="../styles/navbar.css" rel="stylesheet">
    <link rel="stylesheet" href="../css/fontawesone.all.css" type="text/css">
 
    </head>
 
    <body class="bg-light">
 
 
    <div class="py-sm-5 text-center">
        <h2>Autorizar Papeletas</h2>
        <p class="lead text-black-10"><?php echo fecha(date('Y-m-d')); ?></p>
    </div>
 
      <?php $fechaActual = date('Y-m-d'); ?>
 
    <div align="center">
        <div class="col-md-12 order-md-1 pt-3">
            <form name="form2" action="" method="post" >
                <div class="row">
                      <div class="col-md-4 mb-1">
                      </div>
                      <div class="col-md-2 mb-1">
                            <label for="fecha" class="font-weight-bold">Fecha Inicio</label>
                            <input type="date" class="form-control" name="fechai" id="fechai"
                             value="<?php echo $fechai; ?>" required/>
                      </div>
                      <div class="col-md-2 mb-1">
                             <label for="fecha" class="font-weight-bold">Fecha Final</label>
                             <input type="date" class="form-control" name="fechaf" id="fechaf"
                             value="<?php echo $fechaf; ?>" required/>
                      </div>
                      <div class="col-md-12 mb-1 pt-2 pb-4" align="center">
                            <button type="submit" class="btn btn-success btn-lg">Verificar papeleta</button>
                      </div>
                </div>
            </form>
        </div>
    </div>
 
        <table class="table table-bordered" style="font-size: 13px;">
            <thead>
              <tr>
                <td style="text-align:left;"><strong>#</strong></td>
                <td style="text-align:left;"><strong>Cip</strong></td>
                <td style="text-align:left;"><strong>Grado Nombres y Apellidos</strong></td>
                <td style="text-align:left;"><strong>Condicion</strong></td>
                <td style="text-align:left;"><strong>Taller</strong></td>
                <td style="text-align:left;"><strong>Dia</strong></td>
                <td style="text-align:left;"><strong>Motivo</strong></td>
                <td style="text-align:left;"><strong>F.Registro</strong></td>
                <td style="text-align:center;"><strong>J. Taller</strong></td>
                <td style="text-align:center;"><strong>J. Dpto.</strong></td>
                <td style="text-align:center;"><strong>Eliminar</strong></td>
              </tr>
            </thead>
 
            <?php
 
            $contador=0;
 
 
             if(!empty($_POST['fechai']) or !empty($_POST['fechaf']))
             {
 
                $consulta="SELECT t.id, t.cip, CONCAT_WS(' ',p.grado, p.nombre, p.apellidos) as completo, t.condicion, ta.abreviatura as taller, t.fecha, t.motivo, t.fecha_reg_trip, DATE_FORMAT(t.fecha_reg_trip,'%Y-%m-%d') as fRegistro, t.aprob_jt, t.aprob_jd, t.aprob_ma,t.aprob_jp FROM tbpapeleta as t INNER JOIN tbpersonal as p ON p.id=t.idp INNER JOIN tbtaller as ta ON ta.id = p.taller WHERE (ta.id = 1 OR ta.id = 2 OR ta.id = 3 OR ta.id = 5 OR ta.id = 6 OR ta.id = 7 OR ta.id = 8 OR ta.id = 9) AND t.aprob_jt='a' AND t.condicion='COMISION' AND DATE_FORMAT(t.fecha_reg_trip,'%Y-%m-%d') BETWEEN '$fechai' AND '$fechaf'";
             }
            else
            {
              $consulta="SELECT t.id, t.cip, CONCAT_WS(' ',p.grado, p.nombre, p.apellidos) as completo, t.condicion,  ta.abreviatura as taller, t.fecha, t.motivo, t.fecha_reg_trip, DATE_FORMAT(t.fecha_reg_trip,'%Y-%m-%d') as fRegistro, t.aprob_jt, t.aprob_jd, t.aprob_ma,t.aprob_jp FROM tbpapeleta as t INNER JOIN tbpersonal as p ON p.id=t.idp INNER JOIN tbtaller as ta ON ta.id = p.taller WHERE (ta.id = 1 OR ta.id = 2 OR ta.id = 3 OR ta.id = 5 OR ta.id = 6 OR ta.id = 7 OR ta.id = 8 OR ta.id = 9) AND t.aprob_jt='a' AND t.condicion='COMISION' AND DATE_FORMAT(t.fecha_reg_trip,'%Y-%m-%d') ='$fechaActual'";
            }
 
            $sql=mysqli_query($conexion, $consulta);
 
            while($row=mysqli_fetch_array($sql)){
              $contador++;
 
            ?>
             <tbody>
              <tr>
                <td><?php echo $contador; ?></td>
                <td><?php echo $row['cip']; ?></td>
                <td><?php echo $row['completo']; ?></td>
                <td><?php echo $row['condicion']; ?></td>
                <td><?php echo $row['taller']; ?></td>
                <td><?php echo $row['fecha']; ?></td>
                <td><?php echo $row['motivo']; ?></td>
                <td><?php echo  $row['fecha_reg_trip']; ?></td>
                <td class="text-center"><?php echo aprobacion($row['aprob_jt']); ?></td>
 
              //AQUI EL BOTON LA FUNCION APROBACION LE DA LA FORMA DE BOTON.
                <td class="text-center">
                  <a href="d_papel_comision.php?aprob_jd=<?php echo $row['id']; ?>"><?php echo aprobacion($row['aprob_jd']); ?></a>
                </td>
 
 
              </tr>
            <?php } ?>
            </tbody>
 
        </table>
 
 
 
<script src="../js/form-validation.js"></script>
<script src="../js/jquery-3.5.1.slim.min.js"></script>
<script src="js/jquery.js"></script>
<script src="../js/bootstrap.bundle.min.js"></script>
 
</body>
</html>
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