<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hola Leo me quedo asi funcionando bien:<BR>
<BR>
$sql=mysql_query("SELECT * FROM cabecventas WHERE fecha BETWEEN '$fecha1' AND '$fecha2'"); <BR><BR>
if (mysql_error())<BR> print("Error");<BR> else{<BR>
print("Cantidad: ".mysql_num_rows($sql));<BR>
}<BR>
<BR>
En $sql asigno la salida de mysql_query(...) no el string con la query por lo tanto en mysql_num_rows($sql) anda bien.<BR>
<BR>
Saludos <BR><PRE>Leandro </PRE>> From: leonardot@pegasusnet.com.ar<BR>> To: php-avanzado@pato2.fi.mdp.edu.ar<BR>> Date: Thu, 22 Jul 2010 14:25:26 -0300<BR>> Subject: Re: [Php-avanzado] Ventas entre dos fechas<BR>> <BR>> Hola Leandro,<BR>> <BR>> El jue, 22-07-2010 a las 14:25 +0000, Leandro Schereik escribió:<BR>> > Hola Leo le agregue comillas simples a las variables y salio.<BR>> <BR>> Me alegra... y acordate: no te compliques con la sintaxis.<BR>> <BR>> > Pero tengo una duda: <BR>> > Esta es la consulta correcta.<BR>> > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha BETWEEN<BR>> > '$fecha1' AND '$fecha2'");<BR>> > <BR>> > <BR>> > Y esta es la que devuelve 0, no entiendo porque no anda con esta.<BR>> > Donde estaria el error? mas alla que a partir de ahora voy a usar la<BR>> > estructura anterior.<BR>> <BR>> Acá me pierdo... mysql_query() devuelve un handler a la respuesta, sin<BR>> embargo tu asignación es "rara", porque típicamente la variable $sql<BR>> tiene la query a ejecutar (en este caso el select), y el resultado de<BR>> esto se suele cargar en una variable $res o $result... fijate la<BR>> secuencia en el apunte, al final del de PHP Inicial.<BR>> <BR>> Por otra parte, decís que devuelve 0, pero yo te pregunto: qué función<BR>> devuelve cero?<BR>> Para saber la cantidad de registros, deberías llamar a<BR>> mysql_num_rows(), pero el parámetro de esta función es la salida de<BR>> mysql_query(), y no la query en sí misma como ponías unos mails atrás.<BR>> <BR>> Si el que devuelve 0 es mysql_num_rows() de la respuesta de<BR>> mysql_query(), significaría que el SELECT no devuelve ningún resultado.<BR>> Por esto te pedía que hagas un print() de la query generada y la copies<BR>> y pegues en phpmyadmin, para ver qué da de resultado.<BR>> <BR>> Por otra parte, la fecha debería estar en el formato del campo de la<BR>> tabla. Hay 3 o 4 formatos de tipo fecha, y si no usás exactamente el<BR>> mismo, la respuesta te dará vacío siempre, pero no dará error.<BR>> <BR>> Enviá la porción de código que tenés ahora para verla completa y<BR>> seguimos!<BR>> <BR>> <BR>> Saludos!<BR>> <BR>> > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha BETWEEN<BR>> > ".$fecha1." AND ".$fecha2);<BR>> > <BR>> > Muchas Gracias <BR>> > <BR>> > Leandro<BR>> > <BR>> > > From: leonardot@pegasusnet.com.ar<BR>> > > To: php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > Date: Wed, 21 Jul 2010 16:09:15 -0300<BR>> > > Subject: Re: [Php-avanzado] Ventas entre dos fechas<BR>> > > <BR>> > > Hola Leandro,<BR>> > > <BR>> > > no sé como sabés que la query no da error... tu código no tiene<BR>> > ningún<BR>> > > control de errores!<BR>> > > <BR>> > > Por ejemplo en este mail, la query no está bien formada porque le<BR>> > > faltan las comillas envolviendo a las fechas, y sin esas comillas<BR>> > MySQL<BR>> > > dará un error.<BR>> > <BR>> > <BR>> > > <BR>> > > Por otra parte, mysql_num_rows() lleva como parámetro el handler al<BR>> > > recurso de la consulta, es decir, la salida de mysql_query(), y no<BR>> > el<BR>> > > string con la query...<BR>> > > <BR>> > > Seguimos!<BR>> > > <BR>> > > El mié, 21-07-2010 a las 19:01 +0000, Leandro Schereik escribió:<BR>> > > > Hola Leo: <BR>> > > > La consulta no da error el tema es que hay ventas en ese rango de<BR>> > > > fechas ingresadas pero mysql_num_rows($sql) imprime 0. <BR>> > > > <BR>> > > > include("conexion.php");<BR>> > > > $fecha1="2010-7-07";<BR>> > > > $fecha2="2010-7-31";<BR>> > > > <BR>> > > > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha BETWEEN<BR>> > > > $fecha1 AND $fecha2");<BR>> > > > print("Cantidad: ".mysql_num_rows($sql));<BR>> > > > <BR>> > > > <BR>> > > > <BR>> > > > <BR>> > > > <BR>> > > > Textos<BR>> > > > completos<BR>> > > > id<BR>> > > > id_compr<BR>> > > > nom_compr<BR>> > > > ape_compr<BR>> > > > tel_compr<BR>> > > > fecha<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 3<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-05 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 4<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-05 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 5<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-05 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 6<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-05 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 7<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-05 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 8<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-05 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 9<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-08 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 10<BR>> > > > 2<BR>> > > > Leandro<BR>> > > > Schereik<BR>> > > > 4956698<BR>> > > > 2010-07-08 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 15<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 16<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 17<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 18<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 19<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 20<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 21<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 22<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 23<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 24<BR>> > > > 11<BR>> > > > pepe<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 25<BR>> > > > 11<BR>> > > > pepe<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 26<BR>> > > > 11<BR>> > > > pepe<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-19 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 27<BR>> > > > 10<BR>> > > > Lean<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-21 00:00:00<BR>> > > > <BR>> > > > Editar<BR>> > > > Borrar<BR>> > > > 28<BR>> > > > 11<BR>> > > > pepe<BR>> > > > <BR>> > > > <BR>> > > > 2010-07-21 00:00:00<BR>> > > > <BR>> > > > Hola Leo: <BR>> > > > La consulta no da error el tema es que hay ventas en ese rango de<BR>> > > > fechas ingresadas pero mysql_num_rows($sql) imprime 0. <BR>> > > > <BR>> > > > include("conexion.php");<BR>> > > > $fecha1="2010-7-07";<BR>> > > > $fecha2="2010-7-31";<BR>> > > > <BR>> > > > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha BETWEEN<BR>> > > > $fecha1 AND $fecha2");<BR>> > > > print("Cantidad: ".mysql_num_rows($sql));<BR>> > > > <BR>> > > > print($sql);<BR>> > > > <BR>> > > > <BR>> > > > > From: leonardot@pegasusnet.com.ar<BR>> > > > <BR>> > > > > To: php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > > Date: Wed, 21 Jul 2010 15:43:18 -0300<BR>> > > > > Subject: Re: [Php-avanzado] Ventas entre dos fechas<BR>> > > > > <BR>> > > > > Hola Leandro,<BR>> > > > > <BR>> > > > > hacé un print($sql), copiá y pegá la query generada en<BR>> > phpmyadmin (o<BR>> > > > en<BR>> > > > > el cliente MySQL que uses) y fijate el error que da.<BR>> > > > > <BR>> > > > > Este debuging es simple, pero si pusieran las querys en un IF<BR>> > para<BR>> > > > ver<BR>> > > > > si dan falso y luego mostrasen la salida de mysql_error()<BR>> > también se<BR>> > > > lo<BR>> > > > > ahorrarían...<BR>> > > > > <BR>> > > > > El mié, 21-07-2010 a las 18:01 +0000, Leandro Schereik escribió:<BR>> > > > > > Hola Lucas anteponiendo comillas simples la cunsulta queda<BR>> > asi:<BR>> > > > > > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha<BR>> > BETWEEN<BR>> > > > > > ".'$fecha1'." AND ".'$fecha2');<BR>> > > > > > <BR>> > > > > > <BR>> > > > > > include("conexion.php");<BR>> > > > > > $fecha1="2010-7-07";<BR>> > > > > > $fecha2="2010-7-31";<BR>> > > > > > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha<BR>> > > > > > BETWEEN ".'$fecha1'." AND ".'$fecha2');<BR>> > > > > > echo("Cantidad: ".mysql_num_rows($sql));<BR>> > > > > > mysql_close();<BR>> > > > > > <BR>> > > > > > <BR>> > > > > > Me tira:<BR>> > > > > > <BR>> > > > > > Warning: mysql_num_rows(): supplied argument is not a valid<BR>> > MySQL<BR>> > > > > > result resource in C:\wamp\www\practicaphp\php_avanzado\tesis<BR>> > > > \sitio<BR>> > > > > > \21-07-2010\calen.php on line 61<BR>> > > > > > <BR>> > > > > > Cantidad: <BR>> > > > > > <BR>> > > > > > Y con <BR>> > > > > > $sql="SELECT * FROM cabecventas WHERE fecha BETWEEN<BR>> > '{$fecha1}'<BR>> > > > AND<BR>> > > > > > '{$fecha2}';"; <BR>> > > > > > el mismo warning.<BR>> > > > > > <BR>> > > > > > Saludos<BR>> > > > > > <BR>> > > > > > >Leandro, probá anteponiendo a las variables $fecha en la<BR>> > query,<BR>> > > > la<BR>> > > > > > comilla simple, tanto para abrir como para cerrar. después<BR>> > contá.<BR>> > > > > > Lucas<BR>> > > > > > <BR>> > > > > > <BR>> > > > > > <BR>> > > > > ><BR>> > > ><BR>> > ______________________________________________________________________<BR>> > > > > > Porque tu vida necesita más espacio y comodidad. Muy pronto<BR>> > > > descubrí<BR>> > > > > > un nuevo Hotmail. Ver más<BR>> > > > > > _______________________________________________<BR>> > > > > > Php-avanzado mailing list<BR>> > > > > > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > > ><BR>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> > > > > -- <BR>> > > > > <BR>> > > > > Leonardo Tadei<BR>> > > > > leonardot@pegasusnet.com.ar<BR>> > > > > http://blog.pegasusnet.com.ar<BR>> > > > > Firma pública:<BR>> > http://www.pegasusnet.com.ar/LeonardoTadei-public.key<BR>> > > > > <BR>> > > > > _______________________________________________<BR>> > > > > Php-avanzado mailing list<BR>> > > > > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> > > > 2010-07-19 00:00:00 Editar Borrar 26 11 pepe 2010-07-19 00:00:00<BR>> > > > Editar Borrar 27 10 Lean 2010-07-21 00:00:00 Editar Borrar 28 11<BR>> > > > pepe 2010-07-21 00:00:00 <BR>> > > > > To: php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > > Date: Wed, 21 Jul 2010 15:43:18 -0300<BR>> > > > > Subject: Re: [Php-avanzado] Ventas entre dos fechas<BR>> > > > > <BR>> > > > > Hola Leandro,<BR>> > > > > <BR>> > > > > hacé un print($sql), copiá y pegá la query generada en<BR>> > phpmyadmin (o<BR>> > > > en<BR>> > > > > el cliente MySQL que uses) y fijate el error que da.<BR>> > > > > <BR>> > > > > Este debuging es simple, pero si pusieran las querys en un IF<BR>> > para<BR>> > > > ver<BR>> > > > > si dan falso y luego mostrasen la salida de mysql_error()<BR>> > también se<BR>> > > > lo<BR>> > > > > ahorrarían...<BR>> > > > > <BR>> > > > > El mié, 21-07-2010 a las 18:01 +0000, Leandro Schereik escribió:<BR>> > > > > > Hola Lucas anteponiendo comillas simples la cunsulta queda<BR>> > asi:<BR>> > > > > > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha<BR>> > BETWEEN<BR>> > > > > > ".'$fecha1'." AND ".'$fecha2');<BR>> > > > > > <BR>> > > > > > <BR>> > > > > > include("conexion.php");<BR>> > > > > > $fecha1="2010-7-07";<BR>> > > > > > $fecha2="2010-7-31";<BR>> > > > > > $sql=mysql_query("SELECT * FROM cabecventas WHERE fecha<BR>> > > > > > BETWEEN ".'$fecha1'." AND ".'$fecha2');<BR>> > > > > > echo("Cantidad: ".mysql_num_rows($sql));<BR>> > > > > > mysql_close();<BR>> > > > > > <BR>> > > > > > <BR>> > > > > > Me tira:<BR>> > > > > > <BR>> > > > > > Warning: mysql_num_rows(): supplied argument is not a valid<BR>> > MySQL<BR>> > > > > > result resource in C:\wamp\www\practicaphp\php_avanzado\tesis<BR>> > > > \sitio<BR>> > > > > > \21-07-2010\calen.php on line 61<BR>> > > > > > <BR>> > > > > > Cantidad: <BR>> > > > > > <BR>> > > > > > Y con <BR>> > > > > > $sql="SELECT * FROM cabecventas WHERE fecha BETWEEN<BR>> > '{$fecha1}'<BR>> > > > AND<BR>> > > > > > '{$fecha2}';"; <BR>> > > > > > el mismo warning.<BR>> > > > > > <BR>> > > > > > Saludos<BR>> > > > > > <BR>> > > > > > >Leandro, probá anteponiendo a las variables $fecha en la<BR>> > query,<BR>> > > > la<BR>> > > > > > comilla simple, tanto para abrir como para cerrar. después<BR>> > contá.<BR>> > > > > > Lucas<BR>> > > > > > <BR>> > > > > > <BR>> > > > > > <BR>> > > > > ><BR>> > > ><BR>> > ______________________________________________________________________<BR>> > > > > > Porque tu vida necesita más espacio y comodidad. Muy pronto<BR>> > > > descubrí<BR>> > > > > > un nuevo Hotmail. Ver más<BR>> > > > > > _______________________________________________<BR>> > > > > > Php-avanzado mailing list<BR>> > > > > > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > > ><BR>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> > > > > -- <BR>> > > > > <BR>> > > > > Leonardo Tadei<BR>> > > > > leonardot@pegasusnet.com.ar<BR>> > > > > http://blog.pegasusnet.com.ar<BR>> > > > > Firma pública:<BR>> > http://www.pegasusnet.com.ar/LeonardoTadei-public.key<BR>> > > > > <BR>> > > > > _______________________________________________<BR>> > > > > Php-avanzado mailing list<BR>> > > > > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> > > > <BR>> > > > <BR>> > > ><BR>> > ______________________________________________________________________<BR>> > > > Descubrí un nuevo Hotmail: con más herramientas para una vida más<BR>> > > > práctica. Muy pronto. Ver más<BR>> > > > _______________________________________________<BR>> > > > Php-avanzado mailing list<BR>> > > > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> > > -- <BR>> > > <BR>> > > <BR>> > > Leonardo Tadei<BR>> > > leonardot@pegasusnet.com.ar<BR>> > > Pegasus Tech Supply<BR>> > > Tel: (+54)(+223) 471-2880<BR>> > > La Salle 1131 - Mar del Plata - Argentina<BR>> > > http://www.pegasusnet.com.ar / http://blog.pegasusnet.com.ar<BR>> > > http://www.prometeustech.com.ar / http://www.grupopegasus.com<BR>> > > Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key<BR>> > > <BR>> > > <BR>> > > _______________________________________________<BR>> > > Php-avanzado mailing list<BR>> > > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> > <BR>> > <BR>> > ______________________________________________________________________<BR>> > Para que en tu casilla haya mucho más de lo que te importa. Descubrí<BR>> > un nuevo Hotmail. Ver más<BR>> > _______________________________________________<BR>> > Php-avanzado mailing list<BR>> > Php-avanzado@pato2.fi.mdp.edu.ar<BR>> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>> -- <BR>> <BR>> Leonardo Tadei<BR>> leonardot@pegasusnet.com.ar<BR>> http://blog.pegasusnet.com.ar<BR>> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key<BR>> <BR>> _______________________________________________<BR>> Php-avanzado mailing list<BR>> Php-avanzado@pato2.fi.mdp.edu.ar<BR>> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado<BR>                                            <br /><hr />Porque tu vida necesita más espacio y comodidad. Muy pronto descubrí un nuevo Hotmail. <a href='http://www.nuevohotmail.com' target='_new'>Ver más</a></body>
</html>