Escribir datos de una tabla de la base de datos en un archivo txt
Lo primero que debemos hacer es conectar con nuestra base de datos. Yo lo suelo hacer con una clase que utiliza los métodos php para conectar a una base de datos retornando el id de la conexión para posteriormente poder realizar query’s.
Seguidamente realizamos la consulta de los datos que queramos guardar en el txt. En este ejemplo lo que queremos es capturar todos los artículos publicados ordenados por número de lecutras. En el txt guardaremos los campos: titulo, imagen, lecturas y si el artículo es detacado o no.
Si hay registros que procesar, abrimos la conexión al fichero donde queremos guardar los datos y mediante un bucle recorremos los registros de la tabla artículos para guardar cada artículo en una linea separando cada campo mediante una tabulación.
Al finalizar los ciclos, cerramos el puntero al archivo txt y modificamos los permisos del archivo a 777 para que posteriormente se pueda volver a guardar más datos.
El código php quedaría como el siguiente:
<?php
include_once("../../../clases/conexionBD.php");
$conexion = new ConexionBD();
$con = $conexion->Conectar();
$file = 'datos.txt';
$consulta = "SELECT titulo, imagen, lecturas, destacado FROM tabla ORDER BY lecturas DESC";
$rs = mysql_query($consulta, $con);
if (mysql_num_rows($rs) != 0) {
$jump = "\r\n";
$separator = "\t";
$fp = fopen($file, 'a');
$registro = 'titulo' . $separator . 'imagen' . $separator . 'lecturas' . $separator . 'destacado' . $separator . $jump;
fwrite($fp, $registro);
while($row = mysql_fetch_array($rs)) {
$registro = $row['titulo'] . $separator . $row['imagen'] . $separator . $row['lecturas'] . $separator . $row['destacado'] . $separator . $jump;
fwrite($fp, $registro);
}
}
fclose($fp);
chmod($file, 0777);
echo 'Se han guardado '.mysql_num_rows($rs).' registros en el txt!';
?>
Gracias, Excelente codigo
Dios te bendiga.
Excellent muy bueno
Excelente! Gracias!
I really like your writing style, excellent information, regards for posting : D.