¿Qué esta fallando en mi código que no selecciona todos los valores de la factura en una busqueda?

Cordial saludo.
Sigo con la misma forma; recuerdas que al darle Enter hacia una busqueda; siempre hago los selects en SqlServer para asegurarme de que esta bien, pero cuando ejecuto la consulta php solo me toma algunos valores de factura; hago el select de acuerdo al mes que estamos.
¿Puedes hacerme el favor de echarle una ojeadita y decirme en que parte estoy fallando?
Que pena molestarte pero aun no he entendido bien el funcionamiento de php
Agradezco la ayuda que me puedas brindar.
Aquí esta el código:
<?php
function ValidaFactura($Factura)
{
if($Factura!="")
{
include "conexion.php";
if(mssql_select_db ("ArsMigra", $conexion))
{
$VL_Mes = date("m");
$VL_Ano = date("Y");
$VL_FechaIni = $VL_Mes."/01/".$VL_Ano;
$VL_UltDia = mktime(0,0,0,$VL_Mes+1,0,$VL_Ano);
$VL_FechaFin = $VL_Mes."/".$VL_UltDia."/".$VL_Ano;
if($consul=mssql_query("Select distinct afi.AfiPriApellido,afi.AfiSegApellido,afi.AfiPriNombre,
afi.AfiSegNombre,afi.AfiTipoIdenti,afi.AfiNumIdenti from Afiliados afi,
Reserva res where afi.AfiNumCarne=$Factura and afi.AfiNumCarne=
res.Afinumcarne and res.ReCumplio='SI' and convert(varchar(10),
ReFechaReserva, 101) between '".$VL_FechaIni."' and '".$VL_FechaFin."'",$conexion))
{
$reg = mssql_fetch_object($consul);
$VP_Factura[0] = $reg->AfiTipoIdenti;
$VP_Factura[1] = $reg->AfiNumIdenti;
$VP_Factura[2] = $reg->AfiPriApellido;
$VP_Factura[3] = $reg->AfiSegApellido;
$VP_Factura[4] = $reg->AfiPriNombre;
$VP_Factura[5] = $reg->AfiSegNombre;
$VP_Factura[6] = $Factura;
return $VP_Factura;
}
}
mssql_close();
}
}
?>

1 Respuesta

Respuesta
1
¿Qué es la variable $VL_UltDia?
La función mktime te da un timestamp, es decir, un identificador de una fecha y una hora determinadas, que luego puedes usar junto con la función date para darle formato. Por ejemplo puedes usar el siguiente código:
echo date( "m-d-Y", mktime(0,0,0,$VL_Mes,0,$VL_Ano) );
Dime qué pretendes obtener con esa función.
Lo que quiero hacer es capturar la fecha inicial y final con formato mm/dd/yyyy, ej: estamos en el mes de marzo de 2005 entonces seria 03/01/2005 y la final 03/31/2005
Para ejecutar la consulta de acuerdo a esas dos fechas.
Saludos.
Entiendo. Entonces tienes que sustituir la línea:
$VL_UltDia = mktime(0,0,0,$VL_Mes+1,0,$VL_Ano);
por:
$VL_UltDia = date("t",mktime(0,0,0,$VL_Mes+1,1,$VL_Ano));
¿Y para calcular la fecha inicial? ¿Esta bien como te mostré en el código?
Agradezco la ayuda que me has brindado
La fecha inicial está perfecta ya que todos los meses empiezan por el día 01. Lo que necesitas es tener el primer día del mes que siempre es el 1, y el último día, que lo calculas de la forma ya vista.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas