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 11581 al 11600 
AsuntoAutor
Re: Boot desde CD Carlos N
PC se reinicia al José Dia
Re: PC se reinicia ignacio
Re: PC se reinicia william0
Re: PC se reinicia José Dia
Re: PC se reinicia jose mir
Re: PC se reinicia Jose Mig
Re: PC se reinicia beratili
Re: PC se reinicia José Dia
Subir y cnsultar f Pablo
Recuperar OUTLOOK Cecilia
archivos viejos de Frank
RE: Recuperar OUTL Carlos D
Re: Recuperar OUTL Frankpc0
RE: Recuperar OUTL Santos c
Re: Recuperar OUTL =?UTF-8?
RE: Subir y cnsult Carlos D
Re: Subir y cnsult =?UTF-8?
Re: Subir y cnsult =?UTF-8?
Re: Recuperar OUTL Luis Est
 << 20 ant. | 6 sig. >>
 
Usuarios de Saulo.Net
Página principal    Mensajes | Enviar Mensaje | Ficheros | Datos | Encuestas | Eventos | Mis Preferencias

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

Perfeccionado lo de ingresar nombre y apellido a la tabla de la bd: 
 
<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']; 
        $fichero = fopen('/home/jose/Escritorio/tmp/'.$nombre_fichero, 'r') 
or die('Error de lectura'); 
        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++; 
            $buffer = fgets($fichero); 
            //echo "Linea $num_lineas: $buffer <br />"; 
 
            $pos = strpos($buffer," "); 
            if($pos !== false) { 
                //echo "hay un espacio en blanco y esta en la posicion: 
".$pos."<br />"; 
                $nombre=substr($buffer,0,$pos); 
                $apellido=substr($buffer,$pos,20); 
                $apellido = trim($apellido); 
            } 
 
            //echo $nombre.'<br />'; 
            //echo $apellido.'<br />'; 
            //echo $buffer.'<br />'; 
 
            mysql_query("insert into personas (nombre, apellido, 
nombre_completo) values ('$nombre','$apellido','$buffer')"); 
            //echo $buffer.'<br />'; 
        } 
        //$num_lineas = $num_lineas-1; 
        //echo "<br />El fichero tiene $num_lineas lineas/registros"; 
        fclose($fichero); 
    ?> 
<html> 
 
Par esta practica hecha en un localhost de prueba, a una tabla con 4 campos, 
id(int A.I), nombre(vhcar20), apellido(vchar20) y nombre_completo(vchar50). 
Puesto en comentario la salida por pantalla. 
 
Interesante esta necesidad y curioso por probar que tal salia, bueno eso 
sirve, me intereso por lo de los archivos planos que envian los bancos y del 
cual debe tomarse algo de informacion para algunos sistemas. 
 
Si necesitas ayuda con la b), que no es dificil, avisa. 
 
saludos. 
 
El 21 de diciembre de 2009 09:56, José Diaz <jocddz@gmail.com> escribió: 
 
> *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