4
« en: 11 de Abril de 2010, 02:28:56 am »
Primero dejenme contarles en que consiste este script que intento hacer:
Tenemos en un lugar un archivo csv en el que hay distintas filas y columnas, en las que estan el nombre del alumno, y a continuación las notas separadas por comas.
Imaginemos que es este:
Manolito Pajas, 7,8,5,6,9,7,4,6,5,8, ,2,6,
Pepe Bizarro, 6,5,8,6,4,7,8,7,5,9,8, ,4,
Joni melavo, 4,3,5,6,2,7,9,4,5,7, ,7,6,
Ok, pues cada un mero que sale, es una nota de cada asignatura ( en total son 13)
Y luego tenemos el archivo que procesa ese csv y, primero muestra en pantalla esas notas, y ademas muestra otras 8 notas añadidas que son la media aritmetica de algunas de las notas. Me explico, "proceso" otras 8 notas distintas y las muestro. La forma de hacerlo lo he hecho haciendo la media aritmetica de distintas notas.
Imaginense que la nota que añado es "Facilidad para los idiomas" por poner un ejemplo, pues esa nota la pongo de forma que haga una media aritmetica entre la nota de la asignatura de frances y de ingles.
Aqui tenemos el codigo (las notas "nuevas" son las de objetivos):
<form method="POST" action="" enctype="multipart/form-data">
<p><font face="Verdana" size="2">Sube el archivo CSV, para poder procesar las notas de competencia.</font></p>
<p><input type="file" name="examinar" size="92"></p>
<p><input type="submit" value="Procesar" name="enviar"></p>
</form>
<?php
if($_POST[enviar]) {
$archivo=$_FILES['examinar']['tmp_name'];
$idBuscado = 1;
$handle = fopen("$archivo", "r");
// 1000 -> longitud máxima
// "," -> delimitador
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
// Asumo que el ID es la primera columna
if ( $data[0] == $idBuscado ) {
echo ' $data[0] $data[1] $data[2] $data[3] $data[4] $data[5] $data[6] $data[7] $data[8] $data[9] $data[10] $data[11] $data[12] $data[13] Objetivo tecnologico-cientifico: $objetivo1 - Objetivo cientifico: $objetivo2 - Objetivo idiomas: $objetivo3 - Objetivo linguistico: $objetivo4 - Objetivo matematico-fisico: $objetivo5 - Objetivo fisico-social: $objetivo6 Objetivo tenologico-social: $objetivo7 - Objetivo social: $objetivo8 - ';
}
///////////////////////////////////////////////////////////////////
$nombre = $data[0]; // Nombre del alumno
$cn = $data[1]; // Ciencias Naturales
$fq = $data[2]; // Fisica y Quimica
$byg = $data[3]; // Biologia y Geologia
$csc = $data[4]; // Ciencias Sociales
$ef = $data[5]; // Educacion Fisica
$ecd = $data[6]; // Educacion para la ciudadania
$lcc = $data[7]; // Lengua castellana y literatura
$ing = $data[8]; // Ingles
$mat = $data[9]; // Matematicas
$tecn = $data[10]; // Tecnologia
$rel = $data[11]; // Religion
$alt = $data[12]; // Alternativa
$fra = $data[13]; // Frances
////////////////////////
// NOTAS DE OBJETIVOS //
////////////////////////
$objetivo1 = ($cn+$csc+$tecn)/3;
$objetivo2 = ($fq+$byg)/2 ;
$objetivo3 = ($fr+$ing)/2 ;
$objetivo4 = ($csc+$lcc)/2;
$objetivo5 = ($mat+$fq)/2;
$objetivo6 = ($ef+$rel+$alt)/2 ;
$objetivo7 = ($ecd+$rel+$alt)/2;
$objetivo8 = ($ecd+$csc)/2 ;
}
fclose($handle);
}
?>
El problema que me he encontrado esque, no tira ningun error, pero al dar el boton procesar, osea al enviar el formulario, no muestra el echo", y no se como ponerlo para que muestre todos los datos que en el especifico.
Osea, que le doy al boton de enviar, y es como si no le hubiese dado. No hace nada.
Gracias, y saludos!