Buenas gente.
Ando liado con un proyecto y no consigo que me haga un return correcto, y ya me parece raro.
El proceso es simple, lo pongo comentado en el php. Tiene tantas funciones porque me faltan procesos, me quede pillado con esto.
Código PHP:
class email {
//Funcion global
public static function gestoria(){
return email::sabertodos();
}
protected static function sabertodos(){
//PREGUNTO SI EN EL DÍA DE HOY HAY ALGO EN BBDD he puesto esa fecha como ejemplo, pero ira un date();
$c = new tabla('email','status=0 AND tipo="gestoria" AND send="2018-12-20"');
foreach($c->Select(true) as $e) {
if($e) {
//SI ES ASI, ENVIO ID_ID Y FECHA
$valor = email::manana($e['id_id'],$e['fecha']);
}
}
var_dump($valor); //NO LLEGA NADA
return $valor;
}
protected static function manana($id,$date,$valores=NULL) {
//PREGUNTAMOS SI ES ID Y ESA FECHA TIENEN VALORES
$c = new tabla('email','status=0 AND tipo="gestoria" AND id_id='.$id.' AND fecha="'.$date.'"');
$b = $c->Select();
if($b['fecha']) {
//SI ES QUE SI CONTINUAMOS
//AGREGAMOS VALOR DE ESA FECHA AL ARRAY
$valores[$id][] = $date;
//CALCULAMOS EL DÍA SIGUIENTE
$fecha = strtotime('+1 day',strtotime($b['fecha']));
$fechan = date('Y-m-d',$fecha);
//VOLVEMOS A PREGUNTAR LA MISMA FUNCION
email::manana($id,$fechan,$valores);
exit();
} else {
//SI YA NO HAY MÁS FECHA, DEVOLVEMOS (AQUI ESTA EL PROBLEMA)
var_dump($valores); //LO QUE IMPRIME
return $valores;
}
}
}
email::gestoria();
La base de datos EMAIL solo tiene esto por ahora.
Código:
id=1,status=0,send="2018-12-20",tipo="gestoria",id_id=1,fecha="2018-12-24";
id=2,status=0,send="2018-12-21",tipo="gestoria",id_id=1,fecha="2018-12-25";
id=3,status=0,send="2018-12-21",tipo="gestoria",id_id=1,fecha="2018-12-26";
id=4,status=0,send="2018-12-26",tipo="gestoria",id_id=1,fecha="2018-12-29";
El resultado que tengo en pantalla. Que esta guay, pero si lo paso por un return ya no vuelve nada.
Código HTML:
array(1) {
[1]=>
array(3) {
[0]=>;
string(10) "2018-12-24"
[1]=>
string(10) "2018-12-25"
[2]=>
string(10) "2018-12-26"
}
}
Lo que busco es que me diga si al día siguiente tambien tiene registro, asi una tras otra hasta que diga que no. Y todas esas fechas las guarde en un array.
Agradezco toda ayuda.