tengo el siguiente codigo
Código PHP:
<?php
include("../conexion/conexion.php");
session_start();
if (isset($_SESSION['nombreusuario']))
{
$conexion = mysql_connect($servername,$dbusername,$dbpassword) or die(mysql_error());
@mysql_select_db($dbname,$conexion);
$fechaDeLaCopia = "-".date("d l-F-Y");
$ficheroDeLaCopia =$dbname.$fechaDeLaCopia.".sql";
$encabezamientoDeLaCopia = "# Copia de la base de datos creada el: ".date("d-m-Y")."\n# BBDD: $dbname \r\n";
$manejadorDelFicheroDeLaCopia = fopen($ficheroDeLaCopia,"a+b");
fwrite($manejadorDelFicheroDeLaCopia, $encabezamientoDeLaCopia);
fclose($manejadorDelFicheroDeLaCopia);
$matrizDeTablas = array();
$indiceDeLaMatrizDeTablas = 0;
$listadoDeTablas = mysql_list_tables($dbname);
for($recorridoDeTablas=0; $recorridoDeTablas<mysql_num_rows($listadoDeTablas); $recorridoDeTablas++){
$nombreDeTabla = mysql_tablename($listadoDeTablas,$recorridoDeTablas);
if ($nombreDeTabla <>"") {
$matrizDeTablas[$indiceDeLaMatrizDeTablas] = mysql_tablename($listadoDeTablas,$recorridoDeTablas);
$indiceDeLaMatrizDeTablas++;
}
}
for ($recorridoDeTablas = 0; $recorridoDeTablas < $indiceDeLaMatrizDeTablas; $recorridoDeTablas++){
$autoincrementado="";
$nombreDeTabla=$matrizDeTablas[$recorridoDeTablas];
$cadenaSQL = "";
$cadenaSQL .= "DROP TABLE IF EXISTS $nombreDeTabla; \n";
$cadenaSQL .= "CREATE TABLE $nombreDeTabla (\n";
$hacerConsultaDeLecturaDeEstructura = mysql_query("SHOW FIELDS FROM $nombreDeTabla",$conexion);
while($row = mysql_fetch_array($hacerConsultaDeLecturaDeEstructura)) {
$cadenaSQL .= " $row[Field] $row[Type]";
if ($row["Default"] != "") $cadenaSQL .= " DEFAULT '$row[Default]'";
if ($row["Null"] != "YES") $cadenaSQL .= " NOT NULL";
if ($row[Extra] != "") $cadenaSQL .= " $row[Extra]";
if (strstr (strtolower($row[Extra]),"auto_increment")) $autoincrementado=$row[Field];
$cadenaSQL .= ",\n";
}
$cadenaSQL = ereg_replace(",\n$","", $cadenaSQL);
$hacerConsultaDeLecturaDeEstructura = mysql_query("SHOW KEYS FROM $nombreDeTabla",$conexion);
while($row = mysql_fetch_array($hacerConsultaDeLecturaDeEstructura)){
$nombreDeIndice=$row[Key_name];
if(($nombreDeIndice != "PRIMARY") && ($row[Non_unique] == 0)) $nombreDeIndice="UNIQUE|$nombreDeIndice";
if(!isset($listaDeIndices[$nombreDeIndice])) $listaDeIndices[$nombreDeIndice] = array();
$listaDeIndices[$nombreDeIndice][] = $row[Column_name];
}
$autoIncluido=FALSE;
while(list($tipoDeIndice, $columnas) = @each($listaDeIndices)){
$cadenaSQL .= ",\n";
if($tipoDeIndice == "PRIMARY") $cadenaSQL .= " PRIMARY KEY (" . implode($columnas, ", ") . ")";
else if (substr($tipoDeIndice,0,6) == "UNIQUE") $cadenaSQL .= " UNIQUE ".substr($tipoDeIndice,7)." (" . implode($columnas, ", ") . ")";
else $cadenaSQL .= " KEY $tipoDeIndice (" . implode($columnas, ", ") . ")";
if (implode($columnas, ", ")==$autoincrementado) $autoIncluido=TRUE;
}
if (!$autoIncluido && $autoincrementado>"") $cadenaSQL .= ",\n KEY $autoincrementado (" . $autoincrementado . ")";
$cadenaSQL .= "\n); \n";
$manejadorDelFicheroDeLaCopia = fopen($ficheroDeLaCopia,"a+b");
fwrite($manejadorDelFicheroDeLaCopia, "# Tabla: ".$nombreDeTabla."\n\r".$cadenaSQL);
fclose($manejadorDelFicheroDeLaCopia);
unset($lineaDeDatos);
if ($nombreDeTabla>""){
$hacerConsultaDeLecturaDeDatos=mysql_query("SELECT * FROM $nombreDeTabla", $conexion);
$totalDeRegistros= mysql_num_rows ($hacerConsultaDeLecturaDeDatos);
$totalDeCampos = mysql_num_fields($hacerConsultaDeLecturaDeDatos);
for ($cuentaDeRegistros=0;$cuentaDeRegistros<$totalDeRegistros;$cuentaDeRegistros++){
$matrizDeDatos=mysql_fetch_array($hacerConsultaDeLecturaDeDatos);
$lineaDeDatos.="INSERT INTO $nombreDeTabla (";
for ($cuentaDeCampos = 0; $cuentaDeCampos < $totalDeCampos;$cuentaDeCampos++){
$nombreDeCampo = mysql_field_name($hacerConsultaDeLecturaDeDatos, $cuentaDeCampos);
if($cuentaDeCampos == ($totalDeCampos - 1)){
$lineaDeDatos.= $nombreDeCampo;
} else {
$lineaDeDatos.= $nombreDeCampo.",";
}
}
$lineaDeDatos.=") VALUES (";
for ($cuentaDeCampos=0;$cuentaDeCampos < $totalDeCampos;$cuentaDeCampos++){
if($cuentaDeCampos == ($totalDeCampos - 1)){
$lineaDeDatos.="'".addslashes($matrizDeDatos[$cuentaDeCampos])."'";
} else {
$lineaDeDatos.="'".addslashes($matrizDeDatos[$cuentaDeCampos])."',";
}
}
$lineaDeDatos.= ");\n";
}
$lineaDeDatos.= "\n";
}
$manejadorDelFicheroDeLaCopia = fopen($ficheroDeLaCopia,"a+b");
fwrite($manejadorDelFicheroDeLaCopia, $lineaDeDatos);
fclose($manejadorDelFicheroDeLaCopia);
}
header('Content-type: text/x-delimtext;');
header('Content-Disposition: attachment; filename="'.$ficheroDeLaCopia.'"');
readfile($ficheroDeLaCopia);
unlink ($ficheroDeLaCopia);
}
else
{
header("location: ../conexion/logout.php");
}
?>
DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci
ademas he intentado que me muestre las relaciones que hay entre las distintas tablas por ejemplo que me las muestre asi:
Código:
ademas de intentar de mil maneras que me incluya los procedimientos almacenados alguna idea???? muchas gracias ALTER TABLE `procedencia` ADD CONSTRAINT `procedencia_ibfk_1` FOREIGN KEY (`nocedula`) REFERENCES `estudiante` (`nocedula`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `procedencia_ibfk_2` FOREIGN KEY (`idMunicipio`) REFERENCES `municipio` (`idMunicipio`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `RefEstudiante92` FOREIGN KEY (`nocedula`) REFERENCES `estudiante` (`nocedula`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `RefEstudiante921` FOREIGN KEY (`nocedula`) REFERENCES `estudiante` (`nocedula`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `RefMunicipio89` FOREIGN KEY (`idMunicipio`, `idDepartamento`) REFERENCES `municipio` (`idMunicipio`, `idDepartamento`) ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `RefMunicipio891` FOREIGN KEY (`idMunicipio`, `idDepartamento`) REFERENCES `municipio` (`idMunicipio`, `idDepartamento`);