Tengo una inquietud acerca de cómo devolver el valor de días en un array de resultados, sé que en Mysql la sintaxis posible sea
Código PHP:
$reg_count=mysql_query("SELECT DATEDIFF('regdate','getdate()')")
![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
Gracias
| |||
Mostrar el número de días transcurridos desde un campo fecha en la BD Hola amigos foreros!!!!! Tengo una inquietud acerca de cómo devolver el valor de días en un array de resultados, sé que en Mysql la sintaxis posible sea Código PHP: ![]() Gracias
__________________ Ahora T4X es WinGFX!!!!! |
| |||
En Msyql tienes la función NOW() que te devuelve la fecha actual del servidor (Msyql) si usas campos tipo DATE o DATETIME Puedes usar "alias" para darle un nombre de campo al resultado que obtegas de esa operación con fechas y obtener más campos de esa consulta si necesitas ... Código PHP: Código PHP: Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Ya lo intenté tal como me dices, pero aparece un error de mysql, como: Warning: mysql_result(): supplied argument is not a valid MySQL result resource..... Lo que hice fue colocar la primera sintaxis que me ayudaste y aparece el anterior error... Que podría ser????
__________________ Ahora T4X es WinGFX!!!!! |
| |||
Veamos .. me dejé un ; (por si no te diste cuenta) .. y para ver si hay problemas con el nombre de campo o SQL en general usemos la función mysql_error() : Código PHP: Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. Última edición por Cluster; 26/03/2004 a las 10:14 |
| |||
El regdate es la variable con la que pienso pasar el muestreo de días transcurridos, lo del ; ya lo asigné, y la función mysql_error() tambien está asignada. Y el error sigue..... Claro que intenté colocarlo en la tabla de resultados con la consulta, el error continua, al respecto todo está bien, tu explicación pero hay algo que no deja continuar con el error, y aparece esto: mysql_result(): supplied argument is not a valid MySQL result resource Y tambien las comillas ' se han eliminado, practicamente eso está listo pero por que no funciona, será un error de cadena???? bueno, lo averiguo........ Gracias Cluster!!!!!!
__________________ Ahora T4X es WinGFX!!!!! |
| |||
mm con el mysql_error() tedría que haberte mostrado algún tipo de erro tipo "sintx SQL mal .. en tal sitio" o algún error sobre conexión .. Para eso te recomendé usar esa función para ver algún error tipo las comillas o sintax en general SQL .. por cierto ..¿ insisto . de que tipo es el campo regdate de tu BD? Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Otro detalle: Cita: Que versión de Msyql usas?DATEDIFF(expr,expr2) DATEDIFF() returns the number of days between the start date expr and the end date expr2. expr and expr2 are date or date-and-time expressions. Only the date parts of the values are used in the calculation. mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30'); -> 1 mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31'); -> -31 DATEDIFF() was added in MySQL 4.1.1 Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cluster, todo estaba bien, no se si sea la versión de mi servidor que es 4.0.18, es probable que esto no funcione en mi página. Creo que eso era el problema por el cual no me dejaba obtener el valor, no se si me corrijas Cluster pero creo que es asi...... Es problable mi afirmación????
__________________ Ahora T4X es WinGFX!!!!! |
| |||
Pues si, .. la documentación de Msyql al respecto (el estracto que puse) dice eso mismo .. que dicha función apareció en Msyql 4.1.1 en adelante y tu usas una anterior .. pero de igual forma insisto que la instrucción (cambió por siacaso a una variable .. ): Código PHP: Revisa la documentación de Mysql ..por qué hay otras alternativas en SQL para resolver el problema de fechas que tienes: http://www.mysql.com/doc/en/Date_and...functions.html (por ejemplo .. creo que te vendría bien el "TO_DAYS()" tal cual sale en el ejemplo ... ) Eso sí, fijate bien si hacen algún comentario sobre la versión de Mysql que debes disponer para usar tal o cual versión. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Cluster, todo está bien, lo que me inquieta es por que genera este error cuando la consulta está perfecto: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(regdate,NOW()) as fecha_diferencia' at line 1 Me podrías ayudar mientras reviso otra vez el código?? Gracias por tu apreciable ayuda
__________________ Ahora T4X es WinGFX!!!!! |
| |||
Pues justamente ese es el error referente a tu función DATEDIFF() que pretendes usar en una versión de Mysql que no corresponde .. Los mensajes de SQL de ese tipo "syntax .. near" indican que "cerca" (normalmente justo antes de..) esa porción de SQL que menciona en el error hay un problema con syntax (además fijate que dice que mires el manual por su correspondencia con la versión que uses de Mysql ..). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |