Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/09/2010, 15:47
Avatar de vertigo112
vertigo112
 
Fecha de Ingreso: agosto-2006
Ubicación: Estado de Mexico
Mensajes: 25
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: Nombre de columnas de Tabla MySQl desde variable?

Ok amigo primero deja decirte que lo que tienes ahi esta correcto ya lo he rectifivado y funciona, lo que creo que esta mal es eso del "config.php"

imagino que ahi tienes la conexion a tu server y usuario y pass bueno pues esa funcion que colocas ahi simplemente no funcionara ya que esa funcion no sabe esos parametro de conexion a la BD, una solucion seria meter dentro de la funcion una variable global con el Request de la conexion al server y listo haber si me explico para mas detalle te coloco la Clase que cree para tu ejemplo:

BD_SQL.php

Código PHP:
<?
class BD_SQL{
    
// variables de conexion
    
var $BaseDatos;
    var 
$Servidor;
    var 
$Usuario;
    var 
$Clave;    
    
// Identificador de conexion y Consultas
    
var $Conexion_ID 0;
    var 
$Consulta_ID 0;
    
// Constructor de la clase
    
function BD_SQL($bd "",$host ""$user ""$pass ""){
    
$this->BaseDatos $bd;
    
$this->Servidor $host;
    
$this->Usuario $user;
    
$this->Clave $pass;
    }
    
// Conexion a la Base de Datos
    
function conectar($bd$host$user$pass){
      if(
$bd != "")   $this->BaseDatos $bd;
      if(
$host != ""$this->Servidor $host;
      if(
$user != ""$this->Usuario $user;
      if(
$pass != ""$this->Clave $pass;
      
// Enlace con el servidor
      
$this->Conexion_ID mysql_connect($this->Servidor,$this->Usuario,$this->Clave);
      if(!
$this->Conexion_ID){
         return 
0;
        }
      
// Seleccionamos la Base de Datos
      
if(!@mysql_select_db($this->BaseDatos$this->Conexion_ID)){
        return 
0;
      } 
      return 
$this->Conexion_ID;
    }    
    
//
    
function creaTabla($sql){
    
$this->Consulta_ID = @mysql_query($sql$this->Conexion_ID);
    return 
$this->Consulta_ID;  
    }
// fin de la clase 
?>



ahora para poder usar:


[CENTER]
Código PHP:
require_once("BD_SQL.php");    // incluir la clase 
$conn = new BD_SQL();             // crear objeto de la calse
$conn->conectar('BaseDatos','servidor','usuario','password');   // parametros de conexion
        // valores de nombre de la tabla y nombre de el campo
    
$nomTabla 'nueva_tabla';
    
$nomCampo 'Nombrecampo';
    
// variable SQL igual a la que tienes    
    
$sql "CREATE TABLE IF NOT EXISTS $nomTabla (
              `id` int(11) NOT NULL auto_increment,
              `{$nomCampo}` varchar(36) default NULL,              
              PRIMARY KEY  (`id`)
            ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=54;"
;
        
// ejecuta y crea la Tabla            
$conn->creaTabla($sql); 

Última edición por GatorV; 15/09/2010 a las 10:22