Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2010, 14:21
Avatar de cadrogui
cadrogui
 
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Problemas con mi Clase - API

hola gente, estoy haciendo una api para mostrar solamente datos de la BD, y me ha funcionado de forma irregular, primero a veces se me duplica contenido aunque use require_once, y no he logrado hacer una sola consulta a la bd para tener en un array los valores de la consulta, por lo que he tenido que hacer muchas consultas a la bd.

les muestro el code:

api-trabajadores.php
Código PHP:
<?

$HTTP_API_KEY 
$_POST['API_KEY'];

echo 
"Prueba de la API";
echo 
"<br>";

function 
conectar($conectar
    { 
        
$link=''
        if(
$conectar == 1
        { 
            
$link mysql_connect("localhost""root""root"false65536)  

                or die(
err(mysql_errno()));                                    
                
            
mysql_select_db("cosit"
                or die(
err(mysql_errno()));      
        } 
        if(
$conectar == 0
        { 
            
$link mysql_connect("localhost""root""root"false65536); 
                
mysql_close($link); 
        } 
    }

function 
VerificaAPI($API_KEY) {
    
    if(empty(
$API_KEY)):

        
$ERR_CODE "001";
        
$ERR_DESC "Error, Debe ingresar un API KEY";
        
        return 
$ERR_CODE;
        
      else:
          
        
conectar(1);
        
$sql "SELECT * FROM api WHERE nro_api = '" .$API_KEY"'";
        
$consulta mysql_query($sql);
        
$existe mysql_num_rows($consulta);
        
$muestra mysql_fetch_array($consulta);
        
conectar(0);
        
            if (
$existe == 1):
                
                
$EMPRESA $muestra['empresa'];

                return 
000;

              else:
              
                
$ERR_CODE "002";
                
$ERR_DESC "Error, API KEY Erronea";

                return 
$ERR_CODE;
                
            endif;
    endif;    
}                   
    
    
    Switch (
VerificaAPI($HTTP_API_KEY))
        {
            
            case(
000):
            
            echo 
"CASE 000 - API EN FUNCIONAMIENTO...";
            
                class 
API_Cocert {
                    private 
$rut;
                    private 
$id;
                     
                    function 
_construct($rut){
                        
$this -> rut $rut;
                    }
                    
                    function 
mostrar_nombres($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['nombres'];
                        return 
$out;
                    }
                    
                    
                    function 
mostrar_apellidos($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['apellidos'];
                        return 
$out;
                    }
                    
                    function 
mostrar_telefono($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['telefono'];
                        return 
$out;
                    }
                    
                    function 
mostrar_rut($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['rut'];
                        return 
$out;
                    }
                    
            
                    function 
mostrar_vcto_licencia($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['vcto_licencia'];
                        return 
$out;
                    }
            
                    function 
mostrar_tipo_licencia($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['tipo_licencia'];
                        return 
$out;
                    }
                    
                    function 
psicotecnico($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['psicotecnico'];
                        return 
$out;
                    }
                    
                    function 
vcto_examen($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['vcto_examen'];
                        return 
$out;
                    }
                    
            
                    function 
prevision($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['prevision'];
                        return 
$out;
                    }
            
            
                    function 
tipo_contrato($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['tipo_contrato'];
                        return 
$out;
                    }
            
            
                    function 
cargo($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['cargo'];
                        return 
$out;
                    }
            
            
                    function 
area($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['area'];
                        return 
$out;
                    }
            
            
                    function 
supervisor($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['supervisor'];
                        return 
$out;
                    }
            
            
                    function 
das($rut){
                        
conectar(1);
                        
$sql "SELECT * from trabajadores WHERE id = '" .$rut"'";
                        
$consulta mysql_query($sql);
                        
$muestra mysql_fetch_array($consulta);
                        
conectar(0);
                        
                        
$out =  $muestra['das'];
                        return 
$out;
                    }
            
            
                }
                
            break;
            
            case(
001):
            
                echo 
"Error, Debe ingresar un API KEY";
                exit();
            break;
            
            case(
002):
                echo 
"Error, API KEY Erronea";
                exit();
            break;
            
        }
    

?>

archivo que invoca a la api, y donde se muestran los datos:

Código PHP:

<?

$RUT 
"1"
$URL_API "http://dllo/Librerias/api/api-trabajadores.php";
$URL_CONFIG "http://dllo/Librerias/api/api-trabajadores-config.php";
$API_KEY_STR "API_KEY=12345";

if(
function_exists('curl_init')) :

    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$URL_API);
    
curl_setopt($chCURLOPT_POST1);
    
curl_setopt($chCURLOPT_POSTFIELDS$API_KEY_STR);
    
curl_exec($ch);
    
curl_close($ch);

else:

    echo 
"No hay Soporte Para cURL";
    
endif;

/*

si incluyo este archivo, no funciona y se duplica la api, mostrando 
Prueba de la API de Cocert
CASE 000 - API EN FUNCIONAMIENTO...Prueba de la API de Cocert
Error, Debe ingresar un API KEY
*/

require_once('Librerias/api/api-trabajadores.php');

$obj = new API();

echo 
$obj -> mostrar_nombres("$RUT");
echo 
"<br>";
echo 
$obj -> mostrar_apellidos("$RUT");

?>
espero que alguien me de una mano!!!

Muchas Gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl