Foros del Web » Programando para Internet » PHP »

ayuda, crear modulo de imporar datos

Estas en el tema de ayuda, crear modulo de imporar datos en el foro de PHP en Foros del Web. Hola amigos, necesito ayuda, quiero hacer un modulo q se paresca al de phpmyadmin cuando exportamos o importamos un base de datos, alguien q me ...
  #1 (permalink)  
Antiguo 24/11/2009, 15:51
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
ayuda, crear modulo de imporar datos

Hola amigos, necesito ayuda, quiero hacer un modulo q se paresca al de phpmyadmin cuando exportamos o importamos un base de datos, alguien q me pueda ayudar o dar una idea. Se les agradece
  #2 (permalink)  
Antiguo 24/11/2009, 15:54
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: ayuda, crear modulo de imporar datos

Código php:
Ver original
  1. // ***********************************  RESPALDAR DATOS *********************************** \\
  2.     function datos_respaldar() {
  3.         include_once ("common.Class/class.Plantilla.php");
  4.         include_once ("common.Class/class.Base_Datos.php");
  5.         $var_Base_Datos = new Base_Datos ( );
  6.         // --------------------------------- Comienza el paso 1 --------------------------------- \\
  7.         if(!$_POST){ // si no hay post, no generar consultas
  8.             $Contenido = new Plantilla ( "Modules/module.Mantencion/template.datos_respaldar.html" );
  9.             $avanza = "<input type=\"hidden\" name=\"avanza\" value=\"avanza\" />";
  10.             $Contenido->asigna_variables ( array ("avanza" => $avanza ) );
  11.             $ContenidoString = $Contenido->devuelve ();
  12.             return $ContenidoString;
  13.         }
  14.         // --------------------------------- Comienza el paso 2 --------------------------------- \\
  15.         if($_POST["avanza"]){
  16.             $start = microtime(true); // tomo el tiempo que demora generar el backup
  17.             $PG_backup = "";
  18.             $PG_datos = "";
  19.             $consulta1 = "SELECT tablename FROM pg_tables WHERE schemaname = 'public' ;"; // obtengo los nombres de las tablas
  20.             $consulta1 = $var_Base_Datos->consultar($consulta1);
  21.             while($registro = $var_Base_Datos->obtiene_fila($consulta1)){
  22.                 $PG_tabla = $registro["tablename"];
  23.                 $consulta2 = "SELECT column_name FROM information_schema.columns WHERE table_name = '$PG_tabla';"; //obtengo nombres de las columnas
  24.                 $consulta2 = $var_Base_Datos->consultar($consulta2);
  25.                 while($registro2 = $var_Base_Datos->obtiene_fila($consulta2)){
  26.                     $PG_rows_Data[] = $registro2["column_name"]; // agrupo en un array los nombres de columnas
  27.                 }
  28.                 $consulta3 = "SELECT * FROM $PG_tabla"; // obtengo todos los datos de la tabla
  29.                 $consulta3 = $var_Base_Datos->consultar($consulta3);
  30.                 $PG_datos = $PG_datos . "INSERT INTO $PG_tabla VALUES (";
  31.                 if(pg_numrows($consulta3) == 0){
  32.                     $PG_datos = "";
  33.                     $PG_rows_Data = "";
  34.                     continue;
  35.                 } // si la tabla no contiene datos.. no agregar al backup
  36.                 while($registro3 = $var_Base_Datos->obtiene_fila($consulta3)){
  37.                     foreach($PG_rows_Data as $valores){
  38.                         $PG_datos = $PG_datos . "'$registro3[$valores]',";
  39.                     }
  40.                     $PG_datos = $PG_datos . "),(";
  41.                 } // agrupo los valores con formato de insert
  42.                 $PG_datos = str_replace("',)","')",$PG_datos); // elimino las comas demas
  43.                 $PG_datos = substr($PG_datos,0,-2).";\n\n"; // elimino fallo al error de cada insert
  44.                 $PG_backup = $PG_backup . $PG_datos; // agrego los datos al backup
  45.                 $PG_datos = ""; // limpio variables temporales
  46.                 $PG_rows_Data = ""; // limpio variables temporales
  47.             }
  48.             $URL_PG_backup = urlencode($PG_backup); // codifico los datos para evitar conflictos por comillas
  49.             $end = microtime(true);
  50.             $record = $end - $start; // tiempo que tardo en hacer el backup
  51.             $respaldos = "
  52.             <b>Backup Generado correctamente en $record sg.</b><br><br>
  53.             <input type=\"hidden\" value=\"$URL_PG_backup\" name=\"URL_PG_backup\" />
  54.             <input type=\"button\" value=\"Descargar\" class=\"sis_login\" onclick=\"document.formulario.action='Modules/module.Mantencion/descargarSql.php'; document.formulario.submit();\" />
  55.             "; //envio los datos cambiando la direccion del formulario para su proseso de descarga
  56.             $Contenido = new Plantilla ( "Modules/module.Mantencion/template.datos_respaldar.html" );
  57.             $Contenido->asigna_variables ( array ("respaldos" => $respaldos ) );
  58.             $ContenidoString = $Contenido->devuelve ();
  59.             return $ContenidoString;
  60.         }
  61.     }


esta funcion la ise ase algun tiempo quiza te de una idea


saludos!!!
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 25/11/2009, 08:19
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: ayuda, crear modulo de imporar datos

grax Hidek1, lo chekare para acondicionarlo a mis necesidades
  #4 (permalink)  
Antiguo 25/11/2009, 08:23
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: ayuda, crear modulo de imporar datos

de nada

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
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 08:59.