Ir a la portada de Saulo.Net
Usuarios Saulo.Net
Buscar con Google:

en www en Saulo.Net
Portada > Lista de correos > Usuarios
Inicio > Mis eListas > consultas > Mensajes
 Índice de Mensajes 
 Mensajes 11601 al 11607 
AsuntoAutor
Re: archivos viejo =?UTF-8?
RE: Recuperar OUTL L.I.Juan
RE: archivos viejo L.I.Juan
RE: Recuperar OUTL Hector M
Sincronizar Lotus Carlos G
Re: Sincronizar Lo Trucho P
Exámenes a ntiguas Manuel G
 << 20 ant. | -- ---- >>
 
Usuarios de Saulo.Net
Página principal    Mensajes | Enviar Mensaje | Ficheros | Datos | Encuestas | Eventos | Mis Preferencias

Mostrando mensaje 11606     < Anterior | Siguiente >
Responder a este mensaje
Asunto:Re: [SauloNet] Subir y cnsultar fichero en servidor SQL \ PHP
Fecha:Lunes, 21 de Diciembre, 2009  09:56:42 (-0430)
Autor:=?UTF-8?Q?Jos=C3=A9_Diaz?= <jocddz @.....com>

*a) como subo un fichero de texto formado por registros de 2 campos a un 
servidor SQL?* 
 
nunca he hecho o he tenido la necesidad de leer un txt e ingresar su 
contenido en la bd, pero se que ese dia puede llegar claro, y es interesante 
dicha necesidad, me puse a probar e inventar con unas practicas, lo cual no 
es muy eficiente pero se encamina por la idea, aunque esto esta hacia una bd 
mysql, en tu caso las cadenas de conexion son diferentes, me imagino que por 
PDO puedes adaptarlo o cambiar todas las funciones de mysql por lo que uses 
para sql server, ya que con decir "servidor sql" realmente no especificas si 
hablas de mySQL o de SQL Server, es un error de algunas personas usar ese 
termino de "servidor SQL" siendo SQL un lenguaje estandar de BD, asi que 
asumire que hablas de sql server. 
 
-------------------------------------------------------------------------------------------------

<html> 
    <head> 
        <title>Manejo de Fichero</title> 
    </head> 
    <body> 
        <h3>Manejo de Fichero</h3> 
        <form name="formulario" id="formulario" method="post" > 
            <label for="nombref">Fichero:</label> 
            <input type="file" name="elfichero" size="50" /> 
            <input type="submit" name="enviar" /> 
        </form> 
    </body> 
    <?php 
 
        $nombre_fichero = $_POST['elfichero']; 
        //$archivo = $_FILE['elfichero']; 
        //echo $archivo; 
 
        /* 
        $dir = dirname(getcwd()); 
        //$ruta = getcwd(); // obtengo el directorio actual. 
        $ruta=chdir($dir); 
        echo $ruta; 
        exit(); 
        */ 
 
        //$file = 
file_get_contents('/home/jose/Escritorio/tmp/'.$nombre_fichero, true); 
        //echo $file; 
        //exit(); 
 
 
        $fichero = fopen('/home/jose/Escritorio/tmp/'.$nombre_fichero, 'r') 
or die('Error de lectura'); 
 
        //$fichero = dir($nombre_fichero) or die("Oops! error... error... 
feo error!"); 
        //echo $fichero; 
        //exit(); 
 
        mysql_connect("localhost","jose","123456") or die("Error de conexion 
a la BD"); 
        mysql_select_db("pruebas") or die("Error de conexion a la Tabla de 
la BD"); 
 
        $num_lineas = 0; 
        while (!feof($fichero)){ 
            $num_lineas++; 
            // lleyendo la linea: 
            //$buffer = fgetss($fichero, 4096, '<body> <hr />'); 
            $buffer = fgets($fichero); 
            //echo "Linea $num_lineas: $buffer <br />"; 
 
            $nombre=rtrim(substr($buffer,0,-7)); 
            $apellido=ltrim(substr($buffer,10)); 
 
            mysql_query("insert into personas (nombre, apellido, 
nombre_completo) values ('$nombre','$apellido','$buffer')"); 
 
            echo $buffer.'<br />'; 
        } 
 
        //if(mysql_fetch_row($a)) echo "datos ingresados<br />"; 
        //else echo "datos NO ingresados<br />"; 
 
        // echo "\n"; 
        $num_lineas = $num_lineas-1; 
        echo "El fichero tiene $num_lineas lineas/registros"; 
        fclose($fichero); 
 
    ?> 
<html> 
-------------------------------------------------------------------------------------------------

Busca sobre leer archivos planos txt y tomar los string y como dividirlos 
bien sea porque la informacion esta tabulada o evaluando la longitud hasa 
llegar al 'espacio entre el nombre y el apellido' cuentas los caracteres y 
podrias usar algo que te lea una longitud de un inicio a un final, cortando 
asi el nombre en una variable y el apellido en otra variable de todo el 
string, o alguna funcion que que detecte el caracter de espacio, y te toma 
los caracteres hasta ahi, y eliminar espacios de izquierda del apellido con 
ltrim() y de la derecha con rtrim(), mas o menos por ahi debe ir la 
cuestion. Como no he tenido esta necesidad y nunca lo he hecho, desconozco 
si existan mejores funciones php que sirvan de mejor manera para esta 
situacion. 
 
*b) como puedo consultar el campo 2 introduciendo el campo 1 en un 
formulario de 
pàgina web? 
Por ejemplo, si subo un fichero con los campos nombre y apellido al servidor 
SQL, ¿cómo puedo consultar el apellido consultando el nombre?* 
 
Pues filtrando la SQL, pero eso no te traera necesariamente un solo 
registro, ya que si buscas por 'Maria' o 'Jose' o 'Pablo' es seguro que 
tendras en la BD muchas personas con esos nombres pero con distintos 
apellidos, asi que al filtrar "select * from tabla where nombre='$nombre'" 
te traeras varios registros a no ser que casualmente tengas un solo registro 
con ese nombre. 
 
saludos y suerte. 
 
El 18 de diciembre de 2009 14:18, Pablo <thyssens@teleline.es> escribió: 
 
> Hola a todos, 
> 
> quería consultaros dos cositas sobre programación de páginas Web en PHP: 
> 
> a) como subo un fichero de texto formado por registros de 2 campos a un 
> servidor SQL? 
> 
> b) como puedo consultar el campo 2 introduciendo el campo 1 en un 
> formulario de 
> pàgina web? 
> 
> Por ejemplo, si subo un fichero con los campos nombre y apellido al 
> servidor 
> SQL, ¿cómo puedo consultar el apellido consultando el nombre? 
> 
> Muchas gracias y felices fiestas a tod@s, 
> Pablo Bouvier 
> 
> ____________________________ 
> 
> Lista de correos de Saulo.Net 
> Información, bajas y altas en http://www.saulo.net/lista/ 
> 
 
 

Saulo Barajas -   Contactar con el autor