Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2005, 05:19
Avatar de JuanKa
JuanKa
 
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 7 meses
Puntos: 1
Script Descargar Tablas de BD

Hola a todos vi este script para para descargar tablas de una base de datos pero al momento de ejecutarlo obtengo en el navegador una pagina en blanco. No me sale la ventanita que me dice descargar archivo "FICHERO.TXT"

Vi que este script le funciona bien al amigo CARDS por eso lo puso en las faqs pero a mi no, lo estoy ejecutando de manera local, es decir, lo estoy usando en WIndows XP para que luego este bien lo mando a mi hosting, ya que en éste tengo la clave, usuario y la BD

Que podria estar fallando.

Gracias


<?php
//Variables
$Usuario = "root";
$Password = "";
$Servidor = "localhost";
$BaseDeDatos = "usuarios";
$Archivo = "fichero.txt"; //podeis poner el nombre de archivo que querais con la extension que os de la gana
$EliminarTablas = True; //aqui poned si quereis que se elimen las tablas si existen

//Conectar con la base de datos
$Conexion = mysql_connect($Servidor, $Usuario, $Password);
mysql_select_db($BaseDeDatos, $Conexion);

$ListaTablas = mysql_list_tables ($BaseDeDatos);
For ($Numero = 0; $Numero < mysql_num_rows ($ListaTablas); $Numero++) {
$Tablas[] = mysql_tablename($ListaTablas, $Numero);
$Querys .= CrearQuerys($Conexion, $Tablas[$Numero], $EliminarTablas);
}

// Enviamos los datos
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$Archivo");
echo $Querys;

Function CrearQuerys($Conexion, $Tabla, $EliminarTablas) {
// Query que elimina las tablas si existen
if ($EliminarTablas) {
$QueryEliminarTabla = "DROP TABLE IF EXISTS `$Tabla`;";
}

// Query que crea la estructura de la tabla
$sql= "SHOW CREATE TABLE $Tabla;";
$Respuesta = mysql_query($sql, $Conexion);
$ArrayRespuesta = mysql_fetch_array($Respuesta);
$QueryEstructuraTabla = $ArrayRespuesta[1].";";

// Query que introduce los datos en la tabla
$sql = "SELECT * FROM $Tabla;";
$Respuesta = mysql_query($sql, $Conexion);
while ($Fila = mysql_fetch_array($Respuesta, MYSQL_ASSOC)) {
$Columnas = array_keys($Fila);
foreach ($Columnas as $Columna) {
if ( gettype($Fila[$Columna]) == "NULL" ) {
$Valores[] = "NULL";
} else {
$Valores[] = "'".$Fila[$Columna]."'";
}
}
$QueryInsertarDatos .= "INSERT INTO `$Tabla` VALUES (".implode(", ", $Valores).");\n";
unset($Valores);
}

$Contenido = <<<EOT
$QueryEliminarTabla
$QueryEstructuraTabla
$QueryInsertarDatos

EOT;

return $Contenido;
}
?>