Ver Mensaje Individual
  #11 (permalink)  
Antiguo 05/12/2013, 20:14
kasmo
 
Fecha de Ingreso: noviembre-2012
Mensajes: 65
Antigüedad: 11 años, 5 meses
Puntos: 2
Respuesta: consulta a bbdd no funciona en función

Cita:
Iniciado por pateketrueke Ver Mensaje
Si te devuelve null, entonces, de entrada tu conexión está mal, así que primero debes corregir eso.
Cita:
Iniciado por pateketrueke Ver Mensaje
¿Has intentado pasar dicha variable como argumento?

Que dicha variable deba estar al alcance dentro de la función no implica que debas mover todo el código dentro de la función.

Apuesto a que ni siquiera has consultado un manual.
Muchísimas gracias, pasándolo como variable si me funciona bien, siento mi error con el tema de funciones llevo tiempo sin tener que usarlas y la verdad es que he perdido facultades jajaja, este es el código definitivo, sólo queda adaptarlo correctamente a mi aplicación:

Código PHP:
<?php
    
//conexion a bbdd
    
require_once "../bbdd/conecta.php";
    
$db conectaDb();
    
    
$fechasiguiente="2013-12-06";
    
    
// función para comprobar días no lectivos
    
$probando comprobarDia($fechasiguiente$db);
    
    echo 
$probando;
    
    function 
comprobarDia($fecha$db){
        
//se obtiene el dia de la emana
        
$diasemana date(lstrtotime($fecha));
        echo 
$diasemana; echo $fecha;
        
        
//si es fin de semana, directamente es no lectivo
        
if($diasemana=="Saturday" || $diasemana=="Saturday"){
            
$comprueba=" no lectivo ";
            return 
$comprueba;
            
        
//si no es fin de semana, debemos comprobar que no se encuentre en la lista de día de fiesta
        
}else{
            
$consulta "SELECT COUNT(*) FROM nfc.festivos WHERE dia='$fecha'";
            
$result $db->prepare($consulta);
            
$result->execute();
            if(
$result->fetchColumn()>=1){
                
$comprueba="nolectivo";
            }
            else{
                
$comprueba="lectivo";
            }
            
            return 
$comprueba;
        }
        return 
$comprueba;
    }
?>
Esto devuelve "lectivo" si es un día entre lunes y viernes y si no se encuentra en la base de datos de los días festivos, de lo contrario el resultano es "nolectivo"