tengo un pequeño problema, yo tengo uno un script que realice para cargar datos de excel a mysql mediante php, pero lo hice de la forma tradiconal de programacion, el problema es que lo tengo que transformar a mvc (modelo vista controlador) y yo ese estilo de programación nunca la es usado y ps no tengo ni idea de como cambiar mi codigo a ese estilo.
Si hay algun miembro de este este foro que me pueda ayudar le estare muy agradecido, aki les dejare el script
Código PHP :
<html> <!-- IMPORTAR ARCHIVOSN DE EXCEL A MYSQL DESDE PHP --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> Importar de Excel a la Base de Datos </title> </head> <body> <!-- FORMULARIO PARA SOICITAR LA CARGA DEL EXCEL --> <fieldset style="width:450px; heigth: 80px"> <legend align="center">Seleccione el archivo para importar datos:</legend> <form name="importa" method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data" > <input type="file" name="excel" /> <input type='submit' name='enviar' value="Importar" /> <input type="hidden" value="upload" name="action" /> </form> </fieldset> <!-- CARGA LA MISMA PAGINA MANDANDO LA VARIABLE upload --> <?php extract($_POST); if ($action == "upload") //si action tiene como valor UPLOAD haga algo (el value de este hidden es es UPLOAD iniciado desde el value { //cargamos el archivo al servidor con el mismo nombre(solo le agregue el sufijo bak_) $archivo = $_FILES['excel']['name']; //captura el nombre del archivo $tipo = $_FILES['excel']['type']; //captura el tipo de archivo $destino = "bak_".$archivo; //lugar donde se copiara el archivo if (copy($_FILES['excel']['tmp_name'],$destino)) //si dese copiar la variable excel (archivo).nombreTemporal a destino (bak_.archivo) (si se ha dejado copiar) { echo "Archivo Cargado Con Exito "; } else { echo "Error Al Cargar el Archivo "; } //////////////////////////////////////////////////////// if (file_exists ("bak_".$archivo)) //validacion para saber si el archivo ya existe previamente { /*INVOCACION DE CLASES Y CONEXION A BASE DE DATOS*/ /** Invocacion de Clases necesarias */ require_once('Classes/PHPExcel.php'); require_once('Classes/PHPExcel/Reader/Excel5.php'); //DATOS DE CONEXION A LA BASE DE DATOS $conexion = mysql_connect ("localhost","root","") or die ("ERROR EN LA CONEXION"); $database = mysql_select_db ("escuela",$conexion) or die ("ERROR AL CONECTAR A LA BD"); // Cargando la hoja de calculo $objReader = new PHPExcel_Reader_Excel5(); //instancio un objeto como PHPExcelReader(objeto de captura de datos de excel) $objPHPExcel = $objReader->load("bak_".$archivo); //carga en objphpExcel por medio de objReader,el nombre del archivo $objFecha = new PHPExcel_Shared_Date(); // Asignar hoja de excel activa $objPHPExcel->setActiveSheetIndex(0); //objPHPExcel tomara la posicion de hoja (en esta caso 0 o 1) con el setActiveSheetIndex(numeroHoja) // Llenamos un arreglo con los datos del archivo xlsx $i=1; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel $param=0; $contador=0; while($param==0) //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos { $nocontrol=$objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue(); $nombre=$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue(); $grado=$objPHPExcel->getActiveSheet()->getCell('D'.$i)->getCalculatedValue(); $grupo=$objPHPExcel->getActiveSheet()->getCell('E'.$i)->getCalculatedValue(); $sexo=$objPHPExcel->getActiveSheet()->getCell('F'.$i)->getCalculatedValue(); $c=("insert into alumnos values($i,$nocontrol,'$nombre','$grado','$grupo','$sexo')"); mysql_query($c); if($objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue()==NULL) //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria el fin del ciclo while { $param=1; //para detener el ciclo cuando haya encontrado un valor NULL } $i++; $contador=$contador+1; } $totalIngresados=$contador-1; //(porque se se para con un NULL y le esta registrando como que tambien un dato) echo "Total de elementos subidos: $totalIngresados "; } else//si no se ha cargado el bak { echo "Necesitas primero importar el archivo";} unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo) } ?> </body> </html>