Ver Mensaje Individual
  #8 (permalink)  
Antiguo 27/10/2004, 13:33
Avatar de ferny
ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Te puedo pasar el código fuente de uno de los archivos, en este caso el que usé para hacer la copia de seguridad de la tabla phpbb_search_wordmatch

Código PHP:
<?
include("conexion.php");

// Número de registros por archivo
$reg=400;

// Calculamos el número de archivos que hay que descargar
$total mysql_query("SELECT MAX(post_id) FROM phpbb_search_wordmatch");
$row mysql_fetch_row($total);
$totalarchivos ceil($row[0]/$reg);
mysql_free_result($total);

if (
is_numeric($_GET['n'])) {
    
$min=$reg*($_GET['n']-1);
    
$max=$reg*$_GET['n'];
    
$sql="SELECT * FROM phpbb_search_wordmatch WHERE (post_id>=".$min." AND post_id<".$max.") ORDER BY post_id ASC";
    
$res=mysql_query($sql);
    
$filas=mysql_num_rows($res);

    
$i=1;
    
ob_start(); // Inicio buffer

    // Meto la sentencia de estructura de tabla
    
echo "INSERT INTO `phpbb_search_wordmatch` (`post_id`, `word_id`, `title_match`) VALUES ";
    while (
$row=mysql_fetch_row($res)){
        echo 
"(".$row[0].", ".$row[1].", ".$row[2].")";
        if (
$i!=$filas) { echo ",\r\n"; } else { echo ";"; }
        
$i++;
    }
    
mysql_free_result($res);
    
header("Content-type: text/plain");
    
header("Content-Disposition: attachment; filename=phpbb_search_wordmatch(".$min." - ".($max-1).").txt");
    
ob_end_flush();
    exit;
}
mysql_close($conexion);
?>
<html>
<head><title>Tabla phpbb_search_wordmatch</title></head>
<body>
<h2><u><center>Tabla phpbb_search_wordmatch</center></u></h2>
<p>En total: <?=$totalarchivos?> archivos (<?=$reg?> registros por archivo)</p>
<p>
<?
for ($i=1$i<=$totalarchivos$i++) {
    echo 
"<a href='wordmatch.php?n=".$i."'>".$i."</a> - ";
}
?>
</p>
</body>
</html>
Si sabes PHP no te será dificil ver cómo funciona. Primero se conecta con la base de datos (estaría todo metido en el archivo conexion.php) y lo que hace es calcular en cuántos ficheros tienes que hacer la copia de seguridad. Lo tengo puesto en 400 registros/archivo que en el caso de esta tabla en particular es un poco excesivo pero sirve. Entonces muestra una serie de links correspondientes a los trocitos, y si pinchas en ellos se descarta un TXT que ya está listo para ser subido a la base de datos (en phpmyadmin).

Lo mismo hice con las demás tablas, es cuestión de editar unas cuantas cosas... Si no entiendes algo avisa
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.