Foro de elhacker.net

Programación => 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.