Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Bases de Datos => Mensaje iniciado por: Graphixx en 1 Diciembre 2010, 02:42 AM

Título: Crear tabla usando como nombre el campo de otra MYSQL [Solucionado]
Publicado por: Graphixx en 1 Diciembre 2010, 02:42 AM
La idea es que despues de añadir un nuevo registro en la tabla `jqcalendar` usar el ID de ultimo registro generado como nombre de una nueva tabla, pero no me trabaja...alguna idea ? desde ya gracias ....




function addCalendar($st, $et, $sub,$ade){
 $ret = array();
 try{
   $db = new DBConnection();
   $db->getConnection();
   $sql = "insert into `jqcalendar` (`subject`, `starttime`, `endtime`,`isalldayevent`) values ('"
     .mysql_real_escape_string($sub)."', '"
     .php2MySqlTime(js2PhpTime($st))."', '"
     .php2MySqlTime(js2PhpTime($et))."', '"
     .mysql_real_escape_string($ade)."' )";

     if(mysql_query($sql)==false){
     $ret['IsSuccess'] = false;
     $ret['Msg'] = mysql_error();
   }else{
     $ret['IsSuccess'] = true;
     $ret['Msg'] = 'add success';
     $ret['Data'] = mysql_insert_id();
     
     //crear tabla con el id del ultimo evento creado como nombre  
     $sql3 = mysql_query("SELECT Id FROM `jqcalendar` WHERE Id=(SELECT MAX(Id) FROM jqcalendar)");
     $array = mysql_fetch_array($sql3);
     $sql4 = $array["Id"];
     
     $sql2 = "CREATE TABLE ".$sql5." (`id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
     `picture_1` VARCHAR( 200 ) NULL , `cedula` CHAR( 25 ) NULL , `nombres` VARCHAR( 150 ) NULL , `apellidos` VARCHAR( 150 ) NULL ,      `aprobado` CHAR( 2 ) NULL) ENGINE = InnoDB;";
      mysql_query($sql2);
      //fin crear tabla
Título: Re: Crear tabla usando como nombre el campo de otra MYSQL [Solucionado]
Publicado por: Graphixx en 1 Diciembre 2010, 06:48 AM
(http://img14.imageshack.us/img14/1545/asies.png) (http://img14.imageshack.us/i/asies.png/)

Yo mismo lo solucione leyendo y muchoooo.... encontre que el nombre de una tabla en MYSQL no podia empezar por numeros, aparte encontre una instruccion mas corta para hacer el codigo mas agil.