Foros del Web » Programando para Internet » PHP »

Script Descargar Tablas de BD

Estas en el tema de Script Descargar Tablas de BD en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/01/2005, 05:19
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 13 años, 3 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;
}
?>
  #2 (permalink)  
Antiguo 24/01/2005, 10:15
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 13 años, 3 meses
Puntos: 1
Quien me puede ayudar en este script que aun no encuentro cual es el error, ya que cuando lo pruebo en el navegador me sale el navegador en blanco.

Gracias,
  #3 (permalink)  
Antiguo 24/01/2005, 10:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si comentas los header() (deshabilitarlos/quitarlos por el momento) .. podrías ver algún error que tal vez se esté produciendo pero que el envio de las cabeceras HTTP (vía Header()) lo están ocultando.

Un saludo,
  #4 (permalink)  
Antiguo 24/01/2005, 11:17
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 13 años, 3 meses
Puntos: 1
Gracias CLuster pero ya los comente y me sigue saliendo la pg. en blanco

Gracias y Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:38.