Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/10/2004, 10:32
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Pues .. te faltaría las tablas (nombres de estas) para luego obtener su estructura principalmente .. por qué "normalmente" no creas ".sql" con instrucciones de crear la BD (por qué muchas veces topas con un servicio de hosting que sólo te ofrece una BD de nombre fijo y no puedes crear más .. por ejemplo).

Para listar las tablas que tienes: mysql_list_tables() .. y luego el _fields a esas tablas que obtendrás para ver sus campos y estructura ..

En ese "bucle" que vas a usar para listar esas tablas será donde tendrás que ir viendo ya como dar "forma" a la línea que vas a ir generando en tu archivo de texto plano que vas a crear. Para eso tienes que conocer bien la sintax SQL de creación de una tabla para seguirla y respetarla a la hora de componer esa "cadena" (string) que para el caso es lo que es para PHP en ese punto. (http://dev.mysql.com/doc/mysql/en/CREATE_TABLE.html)

Algo tipo:

Código PHP:
$sql $titulo."\n";
bucle (lee nombre tabla){
   
$sql "CREATE TABLE $nombre_Tabla (";
   
bucle (lee "campos/fields" de la tabla){
     
$sql .= $row['nombre_campo']."...".$row['propiedades'] ... etc;
   }
   
$sql .= "};\n";

Si te fijas .. se trata de ir concatenando en $sql los nombres y propiedades de esos campos para ir formando la sentencia SQL como corresponda.

Algo similar será para el "volcado de datos" generando en su lugar sentencias "INSERT INTO ....." y teniendo en cuenta que el separador de instrucciones SQL es el ;

Para generar el archivo .. usas fopen() ... y fwrite($fp,$slq) ... + los fclose() que corresponden ... (más info: www.php.net/fwrite). Recuerda que el salto de línea para un archivo de texto plano es \n (o \r\n o \r dependiendo del S.O. que lo lea).

Un saludo,

Última edición por Cluster; 20/10/2004 a las 10:33