PHP - Gracias, pero encontre la solucion,...

   
Vista:

Gracias, pero encontre la solucion,...

Publicado por DEVILSITO (12 intervenciones) el 15/05/2013 22:15:04
La verdad es que solucione el asunto utilizando AJAX. Me resulto muchisimo mas corto y eficiente
me evitó hacer "trucos" con el PHP, y a la larga queda mucho mas claro para la posterior correccion o modificacion, ademas del menor numero de lineas. Este codigo pretendia tomar una fecha que envia otra pagina y mostrarla, luego si se digita otra fecha poder refrescar dicha variable ($fecha), para efectuar el proceso posterior que ocupa dicha fecha.


El codigo anterior era:

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
<html lang="es">
<!-- Script: UF.PHP -->
 <head>
</head>
<body>
</div></div>
 <form name='frm'>
 <?php if(isset($fecha)) {
      $fecha = $_GET['fecha'];
 }else{
     $cadena =date("d/m/Y",time()-86400); // fecha actual
     $tiempo = explode("/", $cadena);
    $fecha = '09' . "/" . $tiempo[1] . "/" . $tiempo[2]; }
 ?>
 <input type="hidden" name="$fecha" value="<?php echo $fecha ;?>"> <input name="formtext1" id='fecha' type="text" <?php echo $fecha ?>'>
<a href='uf.php?fecha=<?php echo $fecha ?>'>Ok </a> </form>
<?php
session_start();
require('param_conect.php');
$id = mysql_connect(host, user, pass, dbname); mysql_select_db("central", $id); $sql1 = "SELECT * FROM hrt_mavco where fecha_d >= '".$fecha."' order by fecha_d desc limit 30"; while($row = mysql_fetch_array($datos)) { echo "<tr>" ;
$fecha = new DateTime($row['fecha_d']);
echo "<td>".date_format($fecha,'d-m-Y')."</td>\n";
echo "<td>".$row['valor_n']."</td>\n";
echo "</tr> \n"; }
 ?>
 </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
Imágen de perfil de xve

Gracias, pero encontre la solucion,...

Publicado por xve (5523 intervenciones) el 15/05/2013 22:58:31
Hola Devilsito, nos puedes mostrar como lo has solucionado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias, pero encontre la solucion,...

Publicado por DEVILSITO (12 intervenciones) el 17/05/2013 19:15:35
El Ajax que hace las dos cosas (validacion y ejecucion ) son estas lineas de codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(document).ready(function(){
            $("#aceptar").click(function(){
                 var fecha = $('input#fecha').val();
    	       var sw_y = 1;
                 $.ajax({
                 type: 'POST',
                 url: 'proc_uf.php',
		    data: {"fecha":fecha,"sw_y":sw_y},
                     success: function(data) {
			 $('#mensaje').html(data);
	                 if(data>0)
	                    window.location.href='proc_uf.php?fecha='+fecha+'&sw_y='+sw_y ;
                        $('#mensaje').html(data);
                     }
                });
               });
            });


Lo demas es decir el HTML es el mismo que estaba en correos anteriores. Me he dado cuenta que este trozo de codigo es tremendamente util. En este caso una vez que valida, despliega un set de valores (tipo grid) en una zona de la pagina sin refrescar (recursividad) lo que aumenta la velocidad de ejecucion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar