Foros del Web » Programando para Internet » PHP »

ayuda con importacion de tablas desde un archivo

Estas en el tema de ayuda con importacion de tablas desde un archivo en el foro de PHP en Foros del Web. muy wenas! veran tengo una duda y es que no se como enfocar el siguiente codigo: lo que quiero hacer es importar una tabla DBF ...
  #1 (permalink)  
Antiguo 14/05/2009, 03:20
 
Fecha de Ingreso: abril-2009
Mensajes: 106
Antigüedad: 15 años
Puntos: 1
Pregunta ayuda con importacion de tablas desde un archivo

muy wenas!
veran tengo una duda y es que no se como enfocar el siguiente codigo:

lo que quiero hacer es importar una tabla DBF a MySql desde un archivo.
me explico mejor: tengo un <input type='file' > dodne recojo el archivo de la tabla DBF, hasta ahi todo bien; pero ahora el tema es el siguiente, como hago la importación? se que con getrows traigo todos los registros de una consulta... pero como leo todos los registros desde el archivo?
simplemente con que me guien como leer todos los registros de la tabla desde el archivo lo tendre todo solucionado.
mil gracias como siempre. Sois un pedazo de equipo!

Muxas Gracias!
  #2 (permalink)  
Antiguo 14/05/2009, 03:39
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 100
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: ayuda con importacion de tablas desde un archivo

pues con un while? no se si te entendi.

$q="select * from tu_tabla";
$rs= execute($q) or die(mysql_error());
while($reg=mysql_fetch_array($rs)){
echo $reg[0].$reg[1]......;
}

Te refieres a leer una tabla(BBDD) hasta final de fichero no?
  #3 (permalink)  
Antiguo 14/05/2009, 04:28
 
Fecha de Ingreso: abril-2009
Mensajes: 106
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con importacion de tablas desde un archivo

gracias! tengo una tabla en dbf en un archivo y lo k kiero es leer todos los registros del archivo y meterlos en la tabla mysql. lo k no se es como leer todos los registros del archivo, es lo unico k no se.

muxas gracias
  #4 (permalink)  
Antiguo 14/05/2009, 05:48
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 100
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: ayuda con importacion de tablas desde un archivo

Conoces el mysql_odbc? lo digo porque te hace la export directamente de tu dbf a tu mysql
  #5 (permalink)  
Antiguo 14/05/2009, 05:56
 
Fecha de Ingreso: abril-2009
Mensajes: 106
Antigüedad: 15 años
Puntos: 1
Respuesta: ayuda con importacion de tablas desde un archivo

descargue el mysql_odbc driver pero no me deja instalarlo pq tengo vistal ultimate x64....
k puedo acer?
gracias
  #6 (permalink)  
Antiguo 14/05/2009, 05:58
 
Fecha de Ingreso: mayo-2009
Ubicación: Madrid
Mensajes: 100
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: ayuda con importacion de tablas desde un archivo

cachis en la mar sala y en los peces de colores....

a ver porque no exportas tu fichero dbf a un fichero csv con formato y usas un load data infile de mysql, aunque creo que esto te va a liar mas mmmm

tienes aplicaciones mysql que te lo hacen directamente poco mas te puedo ayudar sin liarte mas de la cuenta.
  #7 (permalink)  
Antiguo 14/05/2009, 06:06
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
De acuerdo Respuesta: ayuda con importacion de tablas desde un archivo

BUenas,

yo hice un sistema de Salva e Importacion de una Base de Datos, donde primeramente exporta para un fichero y el de importar te permite cargar ese fichero y te lo insertar en la base de datos.

Si quieres que te lo haga llegar me dices

Saludos
  #8 (permalink)  
Antiguo 14/05/2009, 07:05
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 2 meses
Puntos: 43
De acuerdo Respuesta: ayuda con importacion de tablas desde un archivo

Buenas,

Aqui publico las Funciones para exportar e importar una base de datos:
Es solo los DATOS DE LAS TABLAS

Código PHP:
function ExportarDB()
{
         
$con_base mysql_connect("localhost""root""rodno123");
        
$base "personal";
        
$tablas mysql_query("show tables from $base; "$con_base);
       
        
$cant_tablas=0;
        
$cant_tablas_recorridas=0;
        
$contador=0;
        if (
$tablas) {
            while (
$tabla mysql_fetch_array($tablas)) 
            {

           
                                     
                 
                    
$mitabla $tabla[0];
                    
$cant_tablas++;
                    
                    
$datos mysql_query("select * from $base.$mitabla;"$con_base);
                    if (
$datos
                    {
                        
$cant_tablas_recorridas++;
                        
                        
$campos mysql_num_fields($datos);
                        
$regs mysql_num_rows($datos);
                        for (
$i 0$i $regs$i++) {
                            
$inserta "insert into $mitabla(";
                            for (
$j 0$j $campos$j++) {

                                
$nombre mysql_field_name($datos$j);
                                
$inserta .= "$nombre,";
                            }
                            
$inserta substr($inserta0strlen($inserta) - 1) . ") values(";
                            for (
$j 0$j $campos$j++) {
                                
$tipo mysql_field_type($datos$j);
                                
$valor mysql_result($datos$i$j);
                                switch (
$tipo) {
                                    case 
"string":
                                    case 
"date":
                                    case 
"time":
                                        
$valor "'$valor'";
                                        break;
                                }
                                
$inserta .= "$valor,";
                            }
                            
$inserta substr($inserta0strlen($inserta) - 1) . ");*/*";
                            
$texto .= $inserta;
                            
$contador++;
                        }
                         
                    } else
                        return 
false;

                 
                
            }
           
           
$texto.=strlen($texto);
          if (
$cant_tablas==$cant_tablas_recorridas
          return 
base64_encode($texto);
          else
          return 
false;
           }
            return 
false;
         
        

      
   
}

function 
ImportarBaseD($file)
{
 
$conexion mysql_connect("localhost""root""rodno123");
 
mysql_select_db("personal",$conexion);
 
$sql="TRUNCATE tabla1;
TRUNCATE tabla2;"
;// Estas son las Consultas para limpiar todas las tablas donde se van a insertar los datos 
if ($conexion)
 { 

     
$file_content file($file);
     foreach(
$file_content as $sql_line => $sql_lines )
       {
        
$sql_text=base64_decode($sql_lines);    
        }
  
$Array_SQL=explode(";*/*",$sql_text);
  
$cantsql=count($Array_SQL)-1;
   
$cant_char=strlen($sql_text)-strlen($Array_SQL[$cantsql]);
        if (
$cant_char==$Array_SQL[$cantsql])
        {
             
$sqlvaciar=explode(";",$sql);
           for (
$i=0$i<count($sqlvaciar);$i++)
            {
              if(!
mysql_query($sqlvaciar[$i],$conexion))
                {
                 break;
                 
                 
mysql_close($conexion);
                 return 
false;
                    }
             }    
            
         for (
$i=0$i<$cantsql ;$i++)
             if (!
mysql_query($Array_SQL[$i],$conexion))
               {
                 break;
                 
                 
mysql_close($conexion);
                 return 
false;
                }
    }
    else
    return 
false;
 }
 else
  return 
false;
mysql_close($conexion);
return 
true;

Ejemplo para exportar:
Código PHP:
$texto_cod=ExportarDB();
          if (
$texto_cod
          { 
            
$fecha date("dmY_His");
            
$archivo "Salva_" $fecha ".dsql";
            
$file_exportar fopen("temp/" $archivo"w+");
            
//$texto_cod=base64_encode($texto);
            
            
if (fwrite($file_exportar$texto_cod))
               {
                
fclose($file_exportar);
            echo 
"<center>Se leyeron los Datos correctamente y estan listos para:<br><br></center> ";
            echo 
'<center><a href="file.php?filename='.$archivo.'">Exportar y Guardar</a></center>';
               }
            else echo 
"Error, contacte con el Administrador del Software"
          }
        else
            echo 
"Error, contacte con el Administrador del Software"
Ejemplo para importar:
Código PHP:
if (ImportarBaseD($_FILES['filesalva']['tmp_name'])) 
                
                
                echo 
"<br><center>Se ha completado la Carga de los datos correctamente.</center>";
            
                else
                echo 
"<br><center>Error.</center>"
este scripts debera llamarse file.php:
Código PHP:
$archivo=$_GET['filename'];
 if (
file_exists("temp/".$archivo.""))
   {
       
$file=fopen("temp/".$archivo."","r");
       
header("Content-disposition: attachment;filename=".$archivo."");
    
header("Content-Type: application/force-download");

       while (!
feof($file))
        {
    
$texto fgetss($file1024);
    echo 
$texto;
       }
       
fclose($file);
     
unlink("temp/".$archivo."");
     
   }
   else
   echo 
"Error al Cargar Datos"
Saludos y Disculpen la Demora, y si les hace falta exportar e importar todo, estructura y todo me postean

Última edición por rodno; 14/05/2009 a las 07:43 Razón: Se me olvidava poner unas cositas en exportar
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 15:35.