Ver Mensaje Individual
  #9 (permalink)  
Antiguo 01/11/2009, 09:54
trombonete
 
Fecha de Ingreso: mayo-2009
Mensajes: 147
Antigüedad: 15 años
Puntos: 1
Respuesta: llamar variable fuera de una class

creo que el problema está en que no me explico bien

Código PHP:
<?php
//declaro la variable y le doy algun valor, ese valor es el nombre 
//de la tabla de la base de datos  ok?

$variable="algo";

// hasta aca me entienden no?
//muy bien ,ahora tengo una class con muchas funciones, 
//una de ellas es la que muestro aca y se llama PublicarClan()  ok?...  
//Dentro de esta funcion se encuentra codigo html, por eso es que tube que
// abrir y cerrar las etiquetas de php.

//Como pueden observar en la funcion tambien hay una consulta mysql 
//donde dice que seleccione todos los campos de una tabla, el nombre 
//de esa tabla seria el contenido de la variable $variable, mi pregunta es
// relacionada mas que nada con la sintaxis, quiero saber como escribir en la
// consulta despues del FROM , la variable, para que la esto funcione. El
// problema está en el alcance de las variables, pues la variable   $variable esta
// declarada aFUERA de la clase, y yo me encuentro a dentro, y por eso es que
//  no me reconoce la variable, estoy seguro de que es un error de sintaxis, me
// faltaran unas comillas o algo por el estilo

class Pagina
{
    function 
PublicarClan()
    { 
?>
               
                 <table><tr><td>
           <?
                  $resultado2 
= @mysql_query("SELECT * FROM $variable");
           
?>

                </td></tr></table>

           <? 
       
}
}
?>

si escribo esto :

$resultado2 = @mysql_query("SELECT * FROM algo");

funciona perfectamente, donde "algo" es el nombre de la tabla da la base.
Ahora si me encuentyro dentro de una funcion y quiero hacer referencia a una variable que se encuentra afuera debería escribirlo asi:

$GLOBALS["variable"]

pero al encontrarme tambien dentro de la consulta esto no me funciona, po ej:

$resultado2 = @mysql_query("SELECT * FROM $GLOBALS["variable"]");

o quizas me faltan comillas o algun punto y coma o algo, no sé

Última edición por trombonete; 01/11/2009 a las 10:11 Razón: mas explicacion