PHP y MySQL Importar archivo de excel a cualquier tabla y cualquier columna de la base de datos
Posted by : ohkMalganis
on 12:09:00 p. m.
Tal como lo dice en el título, el código presentado a continuación nos va a permitir ingresar a una base de datos Mysql utilizando PHP desde un archivo creado en excel de extensión .csv (delimitado por comas).
Este código nos va a permitir ingresar la cantidad de datos necesarios a una o multiples tablas y a una o diferentes columnas sin requerir de alteraciones en el código fuente, de una base de datos sin requerimiento de configuraciones grandes o complicadas.
Para que este ejemplo este completo iniciaremos creando una tabla para nuestra base de datos en Mysql.
CREATE TABLE prueba; CREATE TABLE IF NOT EXISTS `estudiante` ( `id_estudiante` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `nombre` varchar(100) NOT NULL, `apellidos` varchar(100) NOT NULL, `telefono` varchar(20) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Ahora que tenemos nuestra base de datos creada y nuestra tabla, revisaremos un poco el código de importación y sus dependencias para realizar una importación exitosa.
Como se puede apreciar, tenemos archivos de hojas de estilo, archivos de javascript y 6 archivos en PHP que realizan la carga. Es de vital importancia realizar una correcta configuración dentro de los archivos db.php y save.php.
db.php
Es importante notar que el archivo db.php cuenta con 170 líneas de código de las cuales no tocaremos ninguna otra que las lineas 8, 10 y 12.
En la linea 8 debemos poner el nombre del usuario de nuestra conexión a la base de datos.
En la linea 10 debemos poner el password de acceso a la base de datos relacionado a la cuenta.
En la linea 12 debemos poner el nombre de nuestra tabla que en este caso es “prueba“.
save.php
Lo único que requerimos modificar en el archivo save.php es a donde redireccionar nuestra página una vez que se haya ingresado los datos a la base de datos.
En la linea de código 149 tenemos un header(“Location: direccion_a_redireccionar.extension”); que esta en comentario, esta línea debemos quitar el comentario y poner la dirección a donde va a redireccionar, OJO hay que dejar en claro de que esta modificación no es obligatoria.
- Bueno, ahora solo necesitamos los datos a ingresar a la base de datos, estos deben estar en un archivo en excel que a posterior guardaremos con extensión .csv.
- Es de vital importancia que tengamos configurado correctamente nuestro windows a la opción de separador de miles en “,” (coma), para que el algoritmo no contenga errores. Aqui tenemos un pequeño manual que nos explica como debemos realizar esta configuración: Configurar el separador de miles
- Es muy importante que nuestros datos en el archivo en excel no lleven “,” la coma entre palabras.
- En caso de llevar la “,” coma entre palabras y que sea importante su conservación, en el panel de configuración de separador de miles debemos utilizar en vez de una “,” un punto y coma “;” y en el archivo vista.php en la linea 70 debemos cambiar $data = explode(“,”, fgets($fp)); por esto $data = explode(“;”, fgets($fp)); pero esto es solo necesario si quieres realizar la importación de manera avanzada y tienes conocimientos avanzados en PHP.
Datos de ejemplo:
Este es el archivo en excel que vamos a importar, como veran solo tiene 3 columnas y 5 filas.
Este archivo debemos guardarlo con .csv (delimitado por comas).
Siguiendo el ejemplo de las imagenes a continuación.
Y con esto tendremos guardado correctamente nuestro archivo.
Ahora vamos a hacerlo correr!
Si no puedes correr archivos del tipo .php debes crear un servidor en tu PC para eso te recomiendo que instales este archivo. XAMPP.
Los archivos del ejemplo los pondremos en esta dirección: C:\xampp\htdocs\
Y lo correremos abriendo el navegador en esta direccion: http://localhost/excel/ de preferencia utilicemos el google chrome, firefox, Baidu, Maxtho Nitro u Opera.
Y tendremos algo como esto:
Una pantalla muy sencilla donde debemos buscar el archivo .csv que acabamos de crear.
Y tendremos una vista similar a esta:
Podemos apreciar que nos demuestra un detalle de lo que estamos por importar.
Ahora debemos decirle donde va a ingresar los datos.
Donde dice “Seleccione”, seleccionamos la tabla y automáticamente nos aparecera debajo otro selector donde debemos especificar el campo donde ingresara.
Una vez seleccionados quedaran como en la siguiente imagen.
Y ahora debemos dar clic en el botón “Guardar Datos” y listo.
En mi caso, y porque no puse un lugar de redirección, este es el resultado:
Con esto finalizamos el ingreso.
Mencionar que podemos realizar el ingreso a diferentes tablas de la base de datos desde el mismo archivo y no importa la dimensión de nuestro archivo en excel.
Aqui tengo un ejemplo con un archivo diferente y con datos diferentes en una base de datos diferente.
Como se puede apreciar, se ingresan a diferentes tablas, diferentes columnas y en desorden y el resultado es el mismo:
Espero les haya servido de ayuda!
No olvides compartirlo en tus redes sociales si te ha gustado!
Importar datos a una base de datos Mysql con PHP, sin importar las tablas y los campos.
Archivos: Descargar archivos
Archivo en .CSV Descargar .CSV
OHK
IPV6 Explicado por Google
Posted by : ohkMalganis
on 1:21:00 p. m.
¿Qué pasaría si Internet se quedara sin espacio?
En realidad, es algo que ya está ocurriendo.
Vint Cerf, director de Evangelización de Internet de Google y uno de los fundadores
de Internet, habla sobre la próxima versión de Internet, IPv6, y sobre los motivos
por los que es necesaria.
¿Por qué se está agotando el espacio de Internet?
Al igual que los teléfonos utilizan un sistema de números telefónicos para realizar llamadas, cada dispositivo conectado a Internet obtiene un número único conocido como "dirección IP" que lo conecta a la red global online.
El problema es que el sistema actual de direcciones de Internet, el protocolo IPv4, solo
tiene espacio para aproximadamente 4.000 millones de direcciones, lo cual apenas es
suficiente para la población mundial y menos aún para los dispositivos online actuales y
futuros (incluidos, entre otros, ordenadores, teléfonos, televisores, relojes,
frigoríficos y automóviles).
Actualmente, comparten direcciones más de 4.000 millones de
dispositivos, y a medida que el protocolo IPv4 se quede sin direcciones disponibles, todo
el mundo tendrá que compartirlas.
¿Cómo se está ampliando el espacio de Internet para que siga creciendo?
Está claro que Internet necesita un mayor número de direcciones IP. ¿Cuántas más exactamente? Bueno, ¿qué te parecen 340 sextillones? Esa cantidad es el número de direcciones que puede gestionar la nueva red de "tuberías" de Internet, el protocolo IPv6. Se trata de un número lo bastante grande para proporcionar a todos los habitantes de la Tierra su propia lista de miles de millones de direcciones IP.En otras palabras, este número es lo bastante grande para ofrecer a Internet un espacio infinito para crecer a partir de hoy hasta el futuro previsible.
¿Cuándo se producirá la migración?
Sustituir el sistema de tuberías de Internet tardará algún tiempo. El Día mundial del
IPv6, que tendrá lugar el 6 de junio de 2012, marcará el comienzo de una implementación
coordinada por los principales sitios web y proveedores de equipamiento y servicios de
Internet.
En Google, creemos que IPv6 es esencial para el continuo crecimiento y buen
estado de Internet y que, al permitir que todos los dispositivos se comuniquen entre sí
directamente, IPv6 posibilita el desarrollo de servicios nuevos e innovadores.
No es necesario que realices ninguna acción para el cambio, pero si quieres obtener más
información y admitir IPv6, consulta las preguntas frecuentes.
Fuente Original
Etiquetas: google, Noticias, Php 62 Comments
Validacion de un formulario Email
Posted by : ohkMalganis
on 10:45:00 a. m.
Por: el-brujo
Fuente Original: Aqui
Validar e-mail:
Código
function verify_email($email){
if(!preg_match('/^[_A-z0-9-]+((\.|\+)[_A-z0-9-]+)*@[A-z0-9-]+(\.[A-z0-9-]+)*(\.[A-z]{2,4})$/',$email)){
return false;
} else {
return $email;
}
}
Código
function EmailValidation($email){
$email = htmlspecialchars(stripslashes(strip_tags($email))); //parse unnecessary characters to prevent exploits
if ( eregi ( '[a-z||0-9]@[a-z||0-9].[a-z]', $email ) )
{ //checks to make sure the email address is in a valid format
$domain = explode( "@", $email ); //get the domain name
if ( @fsockopen ($domain[1],80,$errno,$errstr,3))
{
//if the connection can be established, the email address is probably valid
return true;
} else
{
return false; //if a connection cannot be established return false
}
return false; //if email address is an invalid format return false
}
}
Código
function validar_email($email) {list($local, $domain) = explode("@", $email);
$pattern_local = '^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$';
$pattern_domain = '^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$';
$match_local = eregi($pattern_local, $local);
$match_domain = eregi($pattern_domain, $domain);
if ($match_local && $match_domain) {
return 1;
} else {
return 0;
}
}
En PHP 5:
Se añade la funcionalidad de filter_var
Código
if(filter_var("prueba@dominio.com", FILTER_VALIDATE_EMAIL)){echo "Ok";
} else {
echo "Error";
}
Usando filter _var y comprobando que tenga un punto el dominio con una expresión regular:
Código
function validateEmailAddress($email) {return filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $email);
}
Ejemplo Wordpress (usando expresiones regulares)
Código
function is_email($email) {if( strlen( $email ) < 3 ){
return false;
}
if( strpos( $email, '@', 1 ) === false ){
return false;
}
list( $local, $domain ) = explode( '@', $Valor, 2 );
if( !preg_match( '/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/', $local ) ){
return false;
}
if( preg_match( '/\.{2,}/', $domain ) ){
return false;
}
if( trim( $domain, " \t\n\r\0\x0B." ) !== $domain ){
return false;
}
$subs = explode( '.', $domain );
if( 2 > count( $subs ) ){
return false;
}
foreach ( $subs as $sub ) {
if( trim( $sub, " \t\n\r\0\x0B-" ) !== $sub ){
return false;
}
if( !preg_match('/^[a-z0-9-]+$/i', $sub ) ){
return false;
}
}
return true;
}
Verificar e-mail mirando registro MX si es válido, útil para separar nombre y dominio de un e-mail
Código
function verify_email_dns($email){// This will split the email into its front
// and back (the domain) portions
list($name, $domain) = explode('@',$email);
if(!checkdnsrr($domain,'MX')){
// No MX record found
return false;
} else {
// MX record found, return email
return $email;
}
}
Código
$string = 'some_name@somedomain.com';$res = explode('@', $string);
// array
echo $res[0];
$name = $res[0];
echo $name;
substr
Código
$mail = "some_name@somedomain.com";echo substr($mail, 0, strpos($mail, '@') );
explode
Código
list($name, $domain) = explode('@', $mail);echo $name;
Etiquetas: Desarrollo Web, haxs, Php 0 Comments
Suscribirse a:
Entradas (Atom)
Recent Comments