SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: neorent en Jueves 2 de Noviembre de 2006, 16:32

Título: Historial De Fechas Con Php
Publicado por: neorent en Jueves 2 de Noviembre de 2006, 16:32
que tal amigos de foro solocodigos, bueno nuevamente aqui pidiendo su colaboracion, bueno les comento, tengo una tabla donde almaceno todos los trabajos que se realizan por fecha y ademas a la persona encargada de realizar el trabajo, tonces lo que necesito es hacer una consulta en la tabla, pero me entregan los rangos desde un formulario por ejemplo encargado trabajo="Pedrito", fecha_desde="12/10/2006" fecha_hasta="15/10/2006" , con esos valores hacer una consulta en la tabla, creo que se como hacerlo, pero el problema es que no se como buscar los valores que entre esas fechas en este caso la fecha 13/10/2006,14/10/2006, bueno creo que solo necesito el select por ejemplo yo hice algo pero no me funciona miren este es el code.
Código: Text
  1.  
  2. $SQL="SELECT fecha_llamado,tecnico FROM tabla WHERE ( fecha_llamado >= '$fecha_desde' AND fecha_llamado <= '$fecha_hasta' and tecnico='$trabajo')";
  3.  
  4.  
pero resulta que no me funciona osea trata de hacer la consulta pero creo que tengo demasiados registro creo yo aunque no deberia ser eso, bueno cabe señalar que esta consulta la hago a una base de datos de access97 osea trabajo con ODBC pero creo que la consulta SQL no tiene nada que ver, bueno si alguien tiene alguna idea y me puede ayudar o mostrar algun ejemplo seria genial, bueno de antemano muchas gracias a todos adios :hola:
Título: Re: Historial De Fechas Con Php
Publicado por: lois_ en Lunes 6 de Noviembre de 2006, 02:48
Puede que sea por que no te concatena bien el texto de las variables en la consulta, sería mejor que usaras puntos, de la siguiente manera:

$SQL="SELECT fecha_llamado,tecnico FROM tabla WHERE fecha_llamado >= '" . $fecha_desde . "' AND fecha_llamado <= '" . $fecha_hasta . "' AND tecnico='" . $trabajo . "'";

Si aún así no te va es posible que sea por que hay demasiados registros en la base de datos, como apuntabas tú, access no aguanta mucho :P

Espero que te sirva de ayuda :)
Título: Re: Historial De Fechas Con Php
Publicado por: neorent en Lunes 6 de Noviembre de 2006, 14:45
que tal muchas gracias por tu aporte, pero me sigue dando error este miren.
Código: Text
  1.  
  2. Warning: odbc_do(): SQL error: [Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios., SQL state 22005 in SQLExecDirect in c:&#092;easyphp1-8&#092;www&#092;soporte&#092;access&#092;estadistica.php on line 13
  3.  
  4.  
bueno en access el campo fecha_llamado es de tipo fecha/time, y el campo tecnico asignado es de tipo texto, y bueno les dejo el code y bueno dice que no coinciden los tipos pero estoy seteando las variables para que sean del mismo tipo pero no me funciona, espero me puedan ayudar.
codigo php
Código: Text
  1.  
  2. &#60;?php
  3. include(&#34;../Funciones/conexion.php&#34;);
  4. &#036;fecha_desde=&#34;2006/10/12 00:00:00&#34;;
  5. &#036;fecha_hasta=&#34;2006/10/14 00:00:00&#34;;
  6. &#036;trabajo=&#34;ROBERTO NAVARRO&#34;;
  7. echo &#34;&#036;fecha_desde&#60;br&#62;&#34;;
  8. echo &#34;&#036;fecha_hasta&#60;br&#62;&#34;;
  9. &#036;conexion=conectar_odbc();
  10. echo &#34;&#036;conexion&#60;br&#62;&#34;;
  11. &#036;sql=&#34;SELECT fecha_llamado,tecnico_asignado FROM maestro_atenciones WHERE fecha_llamado &#62;= '&#34; . &#036;fecha_desde . &#34;' AND fecha_llamado &#60;= '&#34; . &#036;fecha_hasta . &#34;' AND tecnico_asignado='&#34; . &#036;trabajo . &#34;'&#34;;
  12. echo &#34;&#036;sql&#60;br&#62;&#34;;      
  13. &#036;resultado=odbc_do(&#036;conexion, &#036;sql);
  14.    while(&#036;row = odbc_fetch_array(&#036;resultado)) {
  15.       printf(&#34;&#60;tr&#62;
  16.           &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  17.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  18.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  19.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  20.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  21.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  22.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  23.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  24.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  25.         &#60;td&#62;&#60;span class='style13'&#62; %s&#60;/span&#62;&#60;/td&#62;
  26.       &#60;/tr&#62;&#34;,
  27.       &#036;row[&#34;folio_atencion&#34;],
  28.         cambiaf_a_normal(&#036;row[&#34;fecha_llamado&#34;]),
  29.       cambiah_a_normal(&#036;row[&#34;hora_llamado&#34;]),
  30.       &#036;row[&#34;usuario_atencion&#34;],
  31.       &#036;row[&#34;direccion_depto&#34;],
  32.       cambia_no_a_normal(&#036;row[&#34;n_oficina&#34;]),
  33.       &#036;row[&#34;fono_anexo&#34;],
  34.       &#036;row[&#34;problema_descrito&#34;],
  35.       &#036;row[&#34;tecnico_asignado&#34;],
  36.       &#036;row[&#34;estado_atencion&#34;]);
  37.      
  38. }
  39. ?&#62;
  40.  
  41.  
muchas gracias a todos de ante mano
Título: Re: Historial De Fechas Con Php
Publicado por: F_Tanori en Lunes 6 de Noviembre de 2006, 18:24
Efectivamente el tipo de dato no coicide

Citar
Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios., SQL state 22005 in SQLExecDirect

si son de tipo de dato fecha compar de esta manera

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->$sql="[color=blue;font-weight]SELECT fecha_llamado,tecnico_asignado FROM maestro_atenciones WHERE fecha_llamado >= #"[/color] .$fecha_desde . "# AND fecha_llamado <= #" . $fecha_hasta . "# AND tecnico_asignado='" . $trabajo
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

sustituye el caracter  --> ' por --># para indicar que es fecha


Saludos y espero que te sirva