Foros del Web » Programando para Internet » PHP »

Ayuda, fecha sql con variables en php !!!!

Estas en el tema de Ayuda, fecha sql con variables en php !!!! en el foro de PHP en Foros del Web. Hola, estoy haciendo un programita en web por php y sql para donde trabajo. Resulta que tengo una fecha en la setencia de sql del ...
  #1 (permalink)  
Antiguo 21/05/2007, 00:51
Avatar de zibor  
Fecha de Ingreso: diciembre-2006
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 1
Ayuda, fecha sql con variables en php !!!!

Hola, estoy haciendo un programita en web por php y sql para donde trabajo. Resulta que tengo una fecha en la setencia de sql del tipo : FECHA='Jan 1 2007 12:00AM' mi intencion es que este programa sea para personas que no saben de informática nada mas que lo necesario, y pretendo que ellos puedan escojer la fecha q necesiten para llevar la cotavilidad. Por eso he hecho u formulario en la cual se pueda cojer el dia, el mes (jan, feb, mar.....) y los dos ultimos dijitos del año ya que el 20 se kedará fijo. Mi problema es que o se como poner las variables en la fecha de la sentencia sql. Espero que alguien me pueda ayudar.

Perdon si este mensaje no está en el foro correcto, pero no sabia donde meterlo.
  #2 (permalink)  
Antiguo 21/05/2007, 01:29
 
Fecha de Ingreso: julio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Ayuda, fecha sql con variables en php !!!!

hola

puedes concatenar las variables por ejemplo...
supongamos que de un formulario envias el dia el mes y el año por POST
y los recibes de esta manera....

Ejemplo:

dia=21
mes=05
anio=2007 // o 07 yo no te aconsejo dejar el 20 constante tal vez se requieran datos historicos, no se tu sabras :P

Código PHP:
 $lFecha=$_POST['anio'].'-'.$_POST['mes'].'-'.$_POST['dia']; //2007-05-21
 
$lSQL="SELECT * CONTABILIDAD WHERE FECHA='$lFecha'"
Saludos, Espero te sirva
  #3 (permalink)  
Antiguo 21/05/2007, 01:48
Avatar de zibor  
Fecha de Ingreso: diciembre-2006
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Ayuda, fecha sql con variables en php !!!!

Mi problema es que la base de datos que tienen hecha la fecha es "Jan 1 2007 12:00AM"(de este tipo), por lo que al hacer una consulta, la fecha tiene q ser igual, y no se como meterle las variables para que quede así. Yo soy un mandado, y no puedo hacer cambios en la base de datos porque no quieren, por eso no puedo cambiar el tipo de fecha y tambien por eso no puedo dejar el 2007 como variable, sino, que lo quieren con el 20 fijo y se pueda cambiar los dos ultimos dijitos. espero vuestra ayuda porfavor.
  #4 (permalink)  
Antiguo 21/05/2007, 02:24
Avatar de zibor  
Fecha de Ingreso: diciembre-2006
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Ayuda, fecha sql con variables en php !!!!

para q lo vean mas claro les pongo el código. Un fallo que tengo es que no se como pasar una variable numerica a texto, aunq lo he intentado.


<html>
<?php
//MUESTRA EL RESULTADO DE LA CONSULTA A PARTIR DEL FORMULARIOS QUE ESTA ABAJO DEL TODO.


$mes=$_POST ["mes"];
$dia=$_POST ["dia"];
$year=$_POST ["year"];


//Esta parte de IF es una prueba que estoy haciendo por eso algunos valores estan distintos q otros
$mes[0]==$m;

if($m==1)
{
$m="Jan";
}
if($m==2)
{
$m=="Feb";
}
if($m==3)
{
$m==Mar;
}
if($m==4)
{
$m=Apr;
}
if($m==5)
{
$mes=="May";
}
if($mes==6)
{
$mes=="Jun";
}
if($mes==7)
{
$mes=="Jul";
}
if($mes==8)
{
$mes=="Aug";
}
if($mes==9)
{
$mes=="Sep";
}
if($mes==10)
{
$mes=="Oct";
}
if($mes==11)
{
$mes=="Nov";
}
if($mes==12)
{
$mes=="Dec";
}

echo "mes: ".$m;
echo "<p>dia: ".$dia[0];
echo "<p>year: ".$year;

if($_POST["Enviar"]=="Enviar")
{
include("bd.php");
$conn=abrirBD();
$sql="SELECT FAMILIA, IVA, SUM(TOTAL_LINEA_IVA)AS TOTAL
FROM FACTURA_LINEA
WHERE FECHA=$mes $dia .'20'.$year .'12:00AM' AND (FAMILIA = 'CODIGO DE BARRAS' OR FAMILIA='SALA SIN CODIGO')
GROUP BY FAMILIA, IVA

UNION ALL

SELECT FAMILIA, IVA, SUM(TOTAL_LINEA_IVA)AS TOTAL
FROM FACTURA_LINEA
WHERE FECHA=$mes $dia .'20'.$year .'12:00AM' AND (FAMILIA = 'ARTICULOS PESO' OR FAMILIA='ARTÍCULO ESPECIAL')
GROUP BY FAMILIA, IVA";


echo "<table align=center>";
$rs=mssql_query($sql,$conn);
while ($prueba=mssql_fetch_array($rs))
{
echo "<tr><td>".$prueba["FECHA"]."</td></tr>";
echo "<tr><td>";
echo "TOTAL: ". $prueba["TOTAL"]."</td><td>";
echo "FAMILIA: ".$prueba["FAMILIA"]."</td><td>";
echo "IVA: ".$prueba["IVA"]."</td><td>";
echo "FECHA: ".$prueba["FECHA"];
echo "</td></tr>";
}

echo "</table>";
}
?>

<!-- AQUI EMPIEZA EL FORMULARIO DE LA FECHA -->

<form name="SQL" action="index.php" method="POST">
<table align="center">
<tr>
<td align="center">
<select name="mes[]" size="1" multiple>
<option value="1" selected>Jan
<option value="2">Feb
<option value="3">Mar
<option value="4">Apr
<option value="5">May
<option value="6">Jun
<option value="7">Jul
<option value="8">Aug
<option value="9">Sep
<option value="10">Oct
<option value="11">Nov
<option value="12">Dec
</select>
</td>
<td align="center">
<select name="dia[]" size="1" multiple>
<option value="1" selected>1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6">6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23
<option value="24">24
<option value="25">25
<option value="26">26
<option value="27">27
<option value="28">28
<option value="29">29
<option value="30">30
<option value="31">31
</select>
</td>
<td align="center">
20<input name="year" type="text" size="1" maxlength="2">
</td></tr>
<tr><td colspan="3" align="center">
<input name="Enviar" type="submit" value="Enviar"></td>
</td></tr>
</table>
</FORM>
</html>
  #5 (permalink)  
Antiguo 21/05/2007, 12:41
 
Fecha de Ingreso: julio-2006
Mensajes: 5
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Ayuda, fecha sql con variables en php !!!!

hola pues mira no es necesario que hagas esas comparaciones

Código PHP:
if($m==1)
{
$m="Jan";
}
... 
desde html ya puedes mandar el mes en lugar de colocarlo como numero, si no ocupas el numero pues no le pongas el numero :P, y cuando creas la lista de los meses asi por ejemplo.

Código HTML:
<td align="center">
<select name="mes" size="1" multiple>
<option value="Jan" selected>Jan
<option value="Feb">Feb
<option value="Mar">Mar
<option value="Apr">Apr
<option value="May">May
<option value="Jun">Jun
<option value="Jul">Jul
<option value="Aug">Aug
<option value="Sep">Sep
<option value="Oct">Oct
<option value="Nov">Nov
<option value="Dec">Dec
</select> 
conciderando que es de selecion multiple lo que vas recibir en php es un arreglo

puedes tomar los meses asi por ejemplo
Código PHP:
   for($i=0;$i<count($_POST['mes']);$i++)
    {
      
$mes[]=$_POST['mes'][$i];
    }  

$dia=$_POST ["dia"][0];
$year=$_POST ["year"];

$fecha="$mes[0] $dia 20$year 12:00AM";


echo 
"fecha: ".$fecha;
echo 
"<p>dia: ".$dia[0];
echo 
"<p>year: ".$year
lo mismo para los dias y supongo yo que deben de ser la misma cantidad seleccionada que la de los meses los dias que debe selecionar el usuario para formar las fechas, y poder generar el SQL a ejecutar


Saludos, espero te ayude
  #6 (permalink)  
Antiguo 22/05/2007, 00:39
Avatar de zibor  
Fecha de Ingreso: diciembre-2006
Mensajes: 80
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Ayuda, fecha sql con variables en php !!!!

Hola, para que me aparezca en la variable mes los nombres en vez de numeros, ya lo consegui, mi problema está en que en la variable $fecha, tengo que poner las variables para que sql me las reconozca como fecha, pero me da error, que lo cito:

Warning: mssql_query() [function.mssql-query]: message: Error de sintaxis al convertir una cadena de caracteres a datetime. (severity 16) in C:\Documents and Settings\Administrador\Mis documentos\Padawan\www\webmasters\index.php on line 35

Warning: mssql_query() [function.mssql-query]: Query failed in C:\Documents and Settings\Administrador\Mis documentos\Padawan\www\webmasters\index.php on line 35

Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in C:\Documents and Settings\Administrador\Mis documentos\Padawan\www\webmasters\index.php on line 36


incluyo mi codigo de nuevo, para que me puedan ayudar porfavor.



<html>
<?php
//MUESTRA EL RESULTADO DE LA CONSULTA A PARTIR DEL FORMULARIOS QUE ESTA ABAJO DEL TODO.


$mes=$_POST ["mes"];
$dia=$_POST ["dia"];
$year=$_POST ["year"];


echo "mes: ".$mes[0];
echo "<p>dia: ".$dia[0]."</p>";
echo "<p>year: ".$year."</p>";

$fecha="$mes[0] $dia[0] 20$year 12:00AM";

if($_POST["Enviar"]=="Enviar")
{
include("bd.php");
$conn=abrirBD();
$sql="SELECT FAMILIA, IVA, SUM(TOTAL_LINEA_IVA)AS TOTAL
FROM FACTURA_LINEA
WHERE FECHA='$fecha' AND (FAMILIA = 'CODIGO DE BARRAS' OR FAMILIA='SALA SIN CODIGO')
GROUP BY FAMILIA, IVA

UNION ALL

SELECT FAMILIA, IVA, SUM(TOTAL_LINEA_IVA)AS TOTAL
FROM FACTURA_LINEA
WHERE FECHA='$fecha' AND (FAMILIA = 'ARTICULOS PESO' OR FAMILIA='ARTÍCULO ESPECIAL')
GROUP BY FAMILIA, IVA";


echo "<table align=center>";
$rs=mssql_query($sql,$conn);
while ($prueba=mssql_fetch_array($rs))
{
echo "<tr><td>".$prueba["FECHA"]."</td></tr>";
echo "<tr><td>";
echo "TOTAL: ". $prueba["TOTAL"]."</td><td>";
echo "FAMILIA: ".$prueba["FAMILIA"]."</td><td>";
echo "IVA: ".$prueba["IVA"]."</td><td>";
echo "FECHA: ".$prueba["FECHA"];
echo "</td></tr>";
}

echo "</table>";
}
?>

<!-- AQUI EMPIEZA EL FORMULARIO DE LA FECHA -->

<form name="SQL" action="index.php" method="POST">
<table align="center">
<tr>
<td align="center">
<select name="mes[]" size="1" multiple>
<option value="Jan" selected>Jan
<option value="Feb">Feb
<option value="Mar">Mar
<option value="Apr">Apr
<option value="May">May
<option value="Jun">Jun
<option value="Jul">Jul
<option value="Aug">Aug
<option value="Sep">Sep
<option value="Oct">Oct
<option value="Nov">Nov
<option value="Dec">Dec
</select>
</td>
<td align="center">
<select name="dia[]" size="1" multiple>
<option value="1" selected>1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6">6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23
<option value="24">24
<option value="25">25
<option value="26">26
<option value="27">27
<option value="28">28
<option value="29">29
<option value="30">30
<option value="31">31
</select>
</td>
<td align="center">
20<input name="year" type="text" size="1" maxlength="2">
</td></tr>
<tr><td colspan="3" align="center">
<input name="Enviar" type="submit" value="Enviar"></td>
</td></tr>
</table>
</FORM>
</html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:09.