Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/08/2006, 20:40
HemeAqui
 
Fecha de Ingreso: agosto-2006
Mensajes: 44
Antigüedad: 17 años, 8 meses
Puntos: 1
Bueno primero se tiene que conseguir los campos de la tabla, para ello se puede usar:
Código:
SHOW FULL COLUMNS
FROM tabla 
Código PHP:
$campos=array();
$q=mysql_query("
SHOW FULL COLUMNS
FROM tabla
"
);
while(
$r=mysql_fetch_array($q)) {
  
$campos[]=$r["Field"]; //NOTA: tiene q ser "Field"

Luego, los datos de la tabla
Código:
SELECT *
FROM tabla 
Código PHP:
$registros=array();
$q=mysql_query("
SELECT *
FROM tabla
"
);
$index=0;
while(
$r=mysql_fetch_array($q)) {
  for (
$i=0$i<count($campos); $i++) {  //$campos obtenido anteriormente
     
$registros[$index][$campos[$i]]=$r[$campos[$i]];
  }
  
$index++;

Si juntamos todo en una sola función sería algo así:
Código PHP:
function backupTabla($t) {
  
$conn=mysql_connect("db_host""db_user""db_pass");
  
mysql_select_db("db");

  
$campos=array();
  
$q=mysql_query("
  SHOW FULL COLUMNS
  FROM "
.$t."
  "
);
  while(
$r=mysql_fetch_array($q)) {
    
$campos[]=$r["Field"]; //NOTA: tiene q ser "Field"
  
}

  
$registros=array();
  
$q=mysql_query("
  SELECT *
  FROM "
.$t."
  "
);
  
$index=0;
  while(
$r=mysql_fetch_array($q)) {
    for (
$i=0$i<count($campos); $i++) {  //$campos obtenido anteriormente
      
$registros[$index][$campos[$i]]=$r[$campos[$i]];
    }
    
$index++;
  }

  
mysql_close($conn);
  
$return=array();
  
$return[]=$campos;
  
$return[]=$registros;
  return 
$return;

Entonces $return[0] contiene los campos de la tabla $t y $return[1] contiene los registros de la tabla $t. A partir de este array se puede reconstruir la tabla original.

Saludos,
HA