Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2015, 18:33
jleoalvarez
 
Fecha de Ingreso: marzo-2015
Mensajes: 7
Antigüedad: 9 años, 8 meses
Puntos: 0
Mostrar/Ocultar Input con Select - No Funciona!

Hola amigos, necesito su ayuda urgente, estoy haciendo una pagina y necesito que cuando un usuario seleccione en un select o lista deplegable el valor "Fecha", se desplieguen dos campos para que el usuario seleccione una fecha inicial y una final para realizar una consulta. He logrado hacer eso en el evento onchange del select y me funciona bien.
Pero, aqui viene el problema, logicamente el usuario al seleccionar "Fecha" necesitará los dos campos y cuando ya ha seleccionado la fecha inicial y la fecha final, deseará saber que hay entre ese intervalo, pero inexplicablemente no consigo hacerlo porque no me realiza la consulta y no muestra nada. se pulsa un boton con submit usando POST pero al parecer no identifica las fechas, pruebo con un echo, pero imprime las demas opciones pero las fechas nada, estoy perdido, que puedo hacer?
Este es el codigo:

select:
Código HTML:
 <select name="criterio" id="criterio" onchange="mostrar(this.form)">
             <option value="Documento">Documento</option>
             <option value="Nombres">Nombres</option>
             <option value="Apellidos">Apellidos</option>
             <option value="Fecha">Fecha</option>
			 </select> 
como ven hay una funcion que es esta la cual me muestra los campos para que el usuario ingrese las fechas:

Código HTML:
<script>
function mostrar(form1){
var i = (form1.criterio.selectedIndex);
var n = (form1.criterio.options[i].text);
if (i==3){
document.getElementById('inicio').type='text'; 
document.getElementById('inicio').disabled=false;
document.getElementById('fin').type='text'; 
document.getElementById('lb1').type='text';
document.getElementById('lb2').type='text';
document.getElementById('fin').disabled=false; 
document.getElementById('valor').type='hidden'; 
document.getElementById('valor').disabled='disabled';
document.getElementById('tipo').value = n;         
} else 
{
document.getElementById('inicio').type='hidden'; document.getElementById('inicio').disabled='disabled';
document.getElementById('fin').type='hidden'; document.getElementById('lb1').type='hidden';
document.getElementById('lb2').type='hidden';
document.getElementById('fin').disabled='disabled';
document.getElementById('valor').type='text'; document.getElementById('valor').disabled=false;
document.getElementById('tipo').value = n; 
}
}
</script> 
finalmente tengo el codigo php, cual se ejecuta en la misma pagina por solicitud del usuario, de manera que el form esta referenciado a si mismo.
este es el código, los procedimientos para Documento, Nombres y Apellidos funcionan a la perfeccion pero el de fecha no. probé haciendo lo mismo ($criterio == "Fecha") pero nada, lo puse así hace un momento para ver si funcionaba, pero tampoco:

Código PHP:
if (isset($_POST['valor'])){

$v = $_POST['valor'];
$criterio = $_POST['criterio'];

?>
<script>alert("Si esta entrando: <?php echo $criterio?>");</script>
<?php

if ($criterio=="Documento"){

$consulta "SELECT*FROM personal where doc_personal = '$v'";
$query mysql_query($consulta,$conex);
$resultado mysql_fetch_array($query);
}
if (
$criterio=="Nombres"){

$consulta "SELECT*FROM personal where nombres_personal like '%$v%'";
$query mysql_query($consulta,$conex);
$resultado mysql_fetch_array($query);
}
if (
$criterio=="Apellidos"){

$consulta "SELECT*FROM personal where apellidos_personal like '%$v%'";
$query mysql_query($consulta,$conex);
$resultado mysql_fetch_array($query);
}

if ((isset(
$_POST['inicio'])) and (isset($_POST['fin'])))
{
    
$fec explode('/'$_POST['inicio']);
    
$fecha_inicio "{$fec[2]}-{$fec[1]}-{$fec[0]}";
    
$fech explode('/'$_POST['fin']);
    
$fecha_fin "{$fech[2]}-{$fech[1]}-{$fech[0]}";

$consulta "SELECT*FROM personal where fecha_con_personal between '$fecha_inicio' and '$fecha_fin'";
$query mysql_query($consulta,$conex);
$resultado mysql_fetch_array($query);
    
}

}
Como pueden ver tambien puse un alert, para verificar si me estaba llegando el valor seleccionado en la variable criterio, efectivamente capturo los valores de Documento, Nombres, Apellidos pero con fecha no hace nada ni sale nada. Realmente estoy desesperado, tengo que entregar esto mañana en la tarde y no se que hacer, por favor ayudenme maestros!