Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/02/2012, 10:34
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 8 meses
Puntos: 331
Respuesta: escribir los dias que hay entre 2 fechas

Tal y como tienes el código, hay dos selects:

Código PHP:
Ver original
  1. //calculo SQL entre 2 fechas
  2. $diasvacas = mysql_query("SELECT TO_DAYS(fechafin) - TO_DAYS(fechaini) FROM vacaciones order by codigo ASC");
calcular la diferencia en días, y

Código PHP:
Ver original
  1. //extraigo info de la sql
  2. $result = mysql_query("SELECT *,DATE_FORMAT(fechaini,'%d/%m/%Y') as fechaini, DATE_FORMAT(fechafin,'%d/%m/%Y') as fechafin  FROM vacaciones order by codigo ASC");

para obtener las fechas con formato. Por lo tanto, hay 2 consultas a la DB, para obtener los valores de una y de otra se deben recorrerlas por separado. El error es que tú solo recorres una en la linea:

Código PHP:
Ver original
  1. while($row=mysql_fetch_array($result))

y no haces caso de la anterior, que se guarda en $calcula.

Dado que la información de ambas select viene de la misma tabla, lo lógico sería hacer una select para obtener todos los valores juntos:

Código MySQL:
Ver original
  1. SELECT V.*, (TO_DAYS(V.fechafin) - TO_DAYS(V.fechaini)) as diff, DATE_FORMAT(V.fechaini,'%d/%m/%Y') as fechaini, DATE_FORMAT(V.fechafin,'%d/%m/%Y') as fechafin FROM vacaciones V order by codigo ASC

Ahora una misma select contiene todos los valores y puedes recorrerla en un sólo while(). Si la select te da error es porque mi sintaxis en incorrecta, compruébala en tu cliente mysql.
__________________
Fere libenter homines, id quod volunt, credunt.