Foros del Web » Programando para Internet » PHP »

Problema al capturar dato desde consulta

Estas en el tema de Problema al capturar dato desde consulta en el foro de PHP en Foros del Web. Hola, mucho tiempo sin pasar por acá, ahora lo que me trae es una consulta que me esta causando problemas dejo a continuación mi code. ...
  #1 (permalink)  
Antiguo 07/08/2012, 07:48
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Problema al capturar dato desde consulta

Hola, mucho tiempo sin pasar por acá, ahora lo que me trae es una consulta que me esta causando problemas dejo a continuación mi code.


Código PHP:
Ver original
  1. $obtiene=mssql_query("SELECT DATEDIFF(dd,fecha,'$fecha_hoy') - (DATEDIFF(wk,fecha,'$fecha_hoy') * 2) -
  2. CASE WHEN DATEPART(dw,fecha) = 1 THEN 1 ELSE 0 END + CASE WHEN DATEPART(dw,'$fecha_hoy') = 1 THEN 1
  3. ELSE 0 END AS dias_diferencia from registro WHERE id_registro=$codreg");
  4.  
  5. //La consulta obtiene la diferencia en dias de las fechas ingresadas, no considerando sábados o domingo
  6.  
  7. while($row=mssql_fetch_array($obtiene))
  8. {
  9.     $totales=$row['dias_diferencia'];
  10. }
  11.  
  12.  
  13. /*
  14.  
  15. Este es el echo de la query....
  16.  
  17. SELECT DATEDIFF(dd,fecha,'07/08/2012') - (DATEDIFF(wk,fecha,'07/08/2012') * 2) - CASE WHEN DATEPART(dw,fecha) = 1 THEN 1
  18. ELSE 0 END + CASE WHEN DATEPART(dw,'07/08/2012') = 1 THEN 1 ELSE 0 END AS dias_diferencia
  19. FROM registro WHERE id_registro=286
  20. */


Resulta que si imprimo la consulta y la ejecuto directamente a la base de datos, obtengo la informacion sin problemas, pero al querer capturarlo por php no puedo recuperar el alias dias_diferencia, probé de diferentes formas pero ... no pude dar con el resultado, cabe señalar que el campo fecha pertenece a la tabla registro y la variable $fecha_hoy, es la fecha actual.

Saludos.

Gracias de antemano


Pd: Acá se utiliza PHP 5.2
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón

Última edición por bUllan9ebrio; 07/08/2012 a las 07:54
  #2 (permalink)  
Antiguo 07/08/2012, 08:17
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Problema al capturar dato desde consulta

Haz esto:

Código PHP:
while($row=mssql_fetch_array($obtiene))
{
    echo 
'<pre>';
    
print_r($row);
    echo 
'</pre>';

Así sabrás exactamente los campos que te devuelve ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 07/08/2012, 08:21
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Problema al capturar dato desde consulta

Obtengo un Array vacío

Código PHP:
Ver original
  1. (
  2.     [0] =>
  3.     [dias_diferencia] =>
  4. )


Saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #4 (permalink)  
Antiguo 07/08/2012, 08:24
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Problema al capturar dato desde consulta

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
Obtengo un Array vacío

Código PHP:
Ver original
  1. (
  2.     [0] =>
  3.     [dias_diferencia] =>
  4. )


Saludos
Eso es lo q te devuelve tu consulta... no es un problema del alias, sino de la consulta en sí! Revisala (imprimela por echo, si quieres... para ver si te falla alguna variable!)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 07/08/2012, 08:26
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Problema al capturar dato desde consulta

Eleazan, la consulta si la imprimo (en el primer post, al final de este, se encuentra el echo), si lo ejecuto directo en sql server me funciona sin problemas


saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #6 (permalink)  
Antiguo 07/08/2012, 09:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema al capturar dato desde consulta

Ya lo he dicho en varios posts, la extensión mssql tiene muchos problemas y no es recomendada, lo mejor es usar la extensión sqlsrv que hace Microsoft ya que soporta todas las características de SQL Server.

Intenta usar esa extensión y verifica que te de la información que quieres.

Saludos.
  #7 (permalink)  
Antiguo 07/08/2012, 10:04
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: Problema al capturar dato desde consulta

Gracias, GatorV, tome la lectura del manual de php Link y lamentablemente sólo es compatible con Windows


Saludos.


__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #8 (permalink)  
Antiguo 07/08/2012, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema al capturar dato desde consulta

Pues sí, digo es de Microsoft, pero si estas usando SQLServer creo es lo más adecuado, ahora no se si sirva, pero puedes intentar usar PDO también, pero creo te va a dar el mismo resultado...

Etiquetas: dato, registro, sql, tabla, variables
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 21:53.