Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Variables de metodo no funcionan :(

Estas en el tema de Variables de metodo no funcionan :( en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Pues ando como un loco preguntandome que hago mal, el caso es que tengo esta clase que me hice: Código PHP: class  Sql {     function  ...
  #1 (permalink)  
Antiguo 14/01/2008, 05:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
Exclamación Variables de metodo no funcionan :(

Pues ando como un loco preguntandome que hago mal, el caso es que tengo esta clase que me hice:

Código PHP:
class Sql
{
    function 
consultaSql($servidor,$usuario_root,$root_pass,$bd,$c_sql)
        { 
            
$db mysql_connect($servidor$usuario_root$root_pass);

            if (!
$db
            {    
                    die(
'Conexión fallida: ' mysql_error());
            }
            
            
$db_select mysql_select_db($bd$db);

            if (!
$db_select
            {
                die (
'No se puede usar bd, error: ' mysql_error());
            }
            
$c1 $c_sql;
            
//echo $c1;

            
$r1 mysql_query($c1); 
            if (!
$r1
            {
                die(
'Consulta invalida: ' mysql_error());
            } 
            
//echo $r1;
            
$array mysql_fetch_array($r1);
            
mysql_free_result($r1);
            
mysql_close($db);        
            
print_r($array); 
            return 
$array;
        }
}
?> 
Código PHP:
Y al utilizar la clase de esta manera:

$secc = new Sql();
$aSecciones $secc->consultaSql('localhost','pepito','contraseñapepito','pepito_db','SELECT familiares FROM pepito');
print_r($aSecciones); 
El caso es que luego tengo print_r($aSecciones); no me imprime nada mas que un elemento es decir asi:

Array ( [0] => isa [familiares] => isa )

A ver si me podeis decir a que se debe proque lo he provao en el servidor local y la clase funciona de lujo :(
  #2 (permalink)  
Antiguo 14/01/2008, 06:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Re: Variables de metodo no funcionan :(

En la funcion solo haces un mysql_fetch_assoc(), por eso siempre te devuelve un registro.
  #3 (permalink)  
Antiguo 14/01/2008, 06:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 4 meses
Puntos: 1
De acuerdo Re: Variables de metodo no funcionan :(

Cita:
Iniciado por DarkJ Ver Mensaje
En la funcion solo haces un mysql_fetch_assoc(), por eso siempre te devuelve un registro.
Si es que se me fue la pinza, lo arregle haciendo esto:

Código PHP:
class Sql
{
    function 
listafilaSql($servidor,$usuario_root,$root_pass,$bd,$c_sql,$nombre_fila)
        { 
            
$array = array();
            
$db mysql_connect($servidor$usuario_root$root_pass);

            if (!
$db
            {    
                    die(
'Conexión fallida: ' mysql_error());
            }
            
            
$db_select mysql_select_db($bd$db);

            if (!
$db_select
            {
                die (
'No se puede usar bd, error: ' mysql_error());
            }
            
            
$r1 mysql_query($c_sql); 
            if (!
$r1
            {
                die(
'Consulta invalida: ' mysql_error());
            } 
            
            
$num_resultados mysql_num_rows($r1);
            for(
$i=0;$i<$num_resultados;$i++)
            {
                
$valor mysql_fetch_assoc($r1);
                
//echo $valor[$nombre_fila];
                
$array[$i] = $valor[$nombre_fila];
            }
            
//print_r($array);
            
mysql_free_result($r1);
            
mysql_close($db);        
            return 
$array;
        }

Se podria mejorar ese código para que en vez de tener que ir añadiendo paramentros aquí function listafilaSql($servidor,$usuario_root,$root_pass,$b d,$c_sql,$nombre_fila) se fueran añadiendo solos mientras declaro la instancia?

A ver si me explico, imagina $a = new Sql(columna1, columna2, columna3.....);

Y el código se hiciera a si mismo quedando:

function listafilaSql($servidor,$usuario_root,$root_pass,$b d,$c_sql,$columna1, $columna2, $columna3.....)

y bueno tambien tendria que cambiar $valor[$nombre_fila]; por $valor[$columna1]; $valor[$columna2]; ...


Se podría hacer eso?

Por cierto tu que trabajas en este foro o que estas las 24 horas macho ^^ XD asias ;)
  #4 (permalink)  
Antiguo 14/01/2008, 09:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Variables de metodo no funcionan :(

Tema trasladado a PHP Orientado a Objetos.
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 06:38.