Foros del Web » Programando para Internet » PHP »

funcion repetida

Estas en el tema de funcion repetida en el foro de PHP en Foros del Web. Hola tengo una funcion dentro de un while y me da error, ya que la funcion se repite, pero esque necesito que la funcion este ...
  #1 (permalink)  
Antiguo 12/12/2013, 12:57
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 10 meses
Puntos: 5
funcion repetida

Hola tengo una funcion dentro de un while y me da error, ya que la funcion se repite, pero esque necesito que la funcion este dentro del while para que se repita con cada resultado, este es parte de mi código:

Cita:
while($res=mysql_fetch_array($resultados)) {


if ($res['fecha7'] != "") {
$start_date9 = ''.$res['fecha7'].'';
$end_date9 = ''.$res['fecha8'].'';

function check_in_range ($start_date_9, $end_date_9, $evaluame9) {
$start_ts9 = strtotime($start_date_9);
$end_ts9 = strtotime($end_date_9);
$user_ts9 = strtotime($evaluame9);
return (($user_ts9 >= $start_ts9) && ($user_ts9 <= $end_ts9));
}
if (check_in_range4($start_date_4, $end_date_4, $fecha_a_evaluar_)) {

$precio="$total1 ";
}

echo"$precio";
}
Un saludo.
  #2 (permalink)  
Antiguo 12/12/2013, 13:02
Avatar de Crazylegs  
Fecha de Ingreso: septiembre-2013
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 1 mes
Puntos: 14
Respuesta: funcion repetida

¡La función la debes declarar fuera!
Código PHP:
Ver original
  1. function check_in_range ($start_date_9, $end_date_9, $evaluame9) {
  2. $start_ts9 = strtotime($start_date_9);
  3. $end_ts9 = strtotime($end_date_9);
  4. $user_ts9 = strtotime($evaluame9);
  5. return (($user_ts9 >= $start_ts9) && ($user_ts9 <= $end_ts9));
  6. }
  7.  
  8. while($res=mysql_fetch_array($resultados)) {
  9.  
  10.  
  11. if ($res['fecha7'] != "") {
  12. $start_date9 = ''.$res['fecha7'].'';
  13. $end_date9 = ''.$res['fecha8'].'';
  14. $valor_devuelto=check_in_range ($start_date_9, $end_date_9, $evaluame9);
  15.  
  16. if (check_in_range4($start_date_4, $end_date_4, $fecha_a_evaluar_)) {
  17.  
  18. $precio="$total1 ";
  19. }
  20.  
  21. echo"$precio";
  22. }
__________________
¡Mira mis tutoriales web!
  #3 (permalink)  
Antiguo 12/12/2013, 13:41
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: funcion repetida

Pero a ver, si lo haces como me has puesto, la funcion no se ejecuta, ya que para obtener los valores de $start_date y $end_date hay que ejecutar el while, ya que sino no esas variables no tienen ningun valor, y por lo cual no se ejecuta la funcion.

O al menos a mi no me funciona.
  #4 (permalink)  
Antiguo 13/12/2013, 05:26
Avatar de Crazylegs  
Fecha de Ingreso: septiembre-2013
Ubicación: Barcelona
Mensajes: 74
Antigüedad: 11 años, 1 mes
Puntos: 14
Respuesta: funcion repetida

Fíjate que en la linea 14 se llama a la función y se pasan por parámetro y el resultado se guarda en $valor_devuelto.

En la linea 16 es otra función distinta a la que le pasas otros valores.

O quizá no haya entendido bien tu código.
__________________
¡Mira mis tutoriales web!

Etiquetas: fecha, funcion, repetida, sql
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 08:59.