Foros del Web » Programando para Internet » PHP »

capturar datos desde una grilla dinamica

Estas en el tema de capturar datos desde una grilla dinamica en el foro de PHP en Foros del Web. Hola Amigos!!, les pido ayuda para resolver este problema, he probado de todo, pero talves aun lo le encuentro la logica a mi grilla dinamica ...
  #1 (permalink)  
Antiguo 23/09/2011, 08:46
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 2 meses
Puntos: 4
capturar datos desde una grilla dinamica

Hola Amigos!!, les pido ayuda para resolver este problema, he probado de todo, pero talves aun lo le encuentro la logica a mi grilla dinamica (asi le digo yo), lo que quiero es capturar esos datos (intente con un array) y luego esos datos guardarlos en la base de datos, este es el extracto del scrip de mi programa, por favor ayudenme a encontrarle una solucion, saludos!!!

Código:
<?php if($_POST[mostrar]){

$sql6 = "select * from materia where Id = '".$_POST[materia]."'";
$resultado2 = mysql_query ($sql6);
$row2 = mysql_fetch_array($resultado2);

echo $row2['Descripcion'];

$resultado=mysql_query($sql5= "SELECT
alumno.Rut,
alumno.Nombre as nombrea,
alumno.Apellido as apellidoa,
alumno.N_lista as nlista,
alumno.Curso,
notas.Id as Id,
notas.Rut_alumno,
notas.Id_materia,
notas.Semestre,
notas.Ano,
notas.nota1 as nota1,
notas.nota2 as nota2,
notas.nota3 as nota3,
notas.nota4 as nota4,
notas.nota5 as nota5,
notas.nota6 as nota6,
notas.nota7 as nota7,
notas.nota8 as nota8,
notas.nota9 as nota9,
notas.nota10 as nota10
FROM
alumno
Inner Join notas ON notas.Rut_alumno = alumno.Rut
WHERE
alumno.Curso = '".$_POST[curso]."' AND
notas.Semestre = '".$semestre."' AND
notas.Ano = '".$ano."' AND
notas.Id_materia = '".$_POST[materia]."' ORDER BY alumno.N_lista");


?>

<table border="1" cellspacing="0">
<tr>
<td width="20">Nº </td>
<td width="200">Apellidos</td>
<td width="200">Nombres</td>
<td width="47">Nota 1</td>
<td width="47">Nota 2</td>
<td width="47">Nota 3</td>
<td width="47">Nota 4</td>
<td width="47">Nota 5</td>
<td width="47">Nota 6</td>
<td width="47">Nota 7</td>
<td width="47">Nota 8</td>
<td width="47">Nota 9</td>
<td width="55">Nota 10</td>
</tr>


<?php
while($row = mysql_fetch_array($resultado)) {
printf("<tr><td>".$row["nlista"]."</td><td>".$row["apellidoa"]."</td><td>".$row["nombrea"]."</td><td><input type='text' name='nota1' id='nota1".$row["Id"]."' value='".$row["nota1"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota2' id='nota2".$row["Id"]."' value='".$row["nota2"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota3' id='nota3".$row["Id"]."' value='".$row["nota3"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota4' id='nota4".$row["Id"]."' value='".$row["nota4"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota5' id='nota5".$row["Id"]."' value='".$row["nota5"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota6' id='nota6".$row["Id"]."' value='".$row["nota6"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota7' id='nota7".$row["Id"]."' value='".$row["nota7"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota8' id='nota8".$row["Id"]."' value='".$row["nota8"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota9' id='nota9".$row["Id"]."' value='".$row["nota9"]."' size='3' maxlength='3'/></td><td><input type='text' name='nota10' id='nota10".$row["Id"]."' value='".$row["nota10"]."' size='3' maxlength='3'/></td></tr>");
}



?>


</table>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td><input type="submit" name="grabar" id="grabar" value="Grabar Cambios" />
<?php } ?> <!--aqui termina la condicion if post[mostrar] -->
</td>
</tr>
</table>

<!--desde aqui grabaria los datos -->

<?php
if($_POST[grabar]){

$resultado=mysql_query($sql5= "SELECT
alumno.Rut,
alumno.Nombre as nombrea,
alumno.Apellido as apellidoa,
alumno.N_lista as nlista,
alumno.Curso,
notas.Id as Id,
notas.Rut_alumno,
notas.Id_materia,
notas.Semestre,
notas.Ano,
notas.nota1 as nota1,
notas.nota2 as nota2,
notas.nota3 as nota3,
notas.nota4 as nota4,
notas.nota5 as nota5,
notas.nota6 as nota6,
notas.nota7 as nota7,
notas.nota8 as nota8,
notas.nota9 as nota9,
notas.nota10 as nota10
FROM
alumno
Inner Join notas ON notas.Rut_alumno = alumno.Rut
WHERE
alumno.Curso = '".$_POST[curso]."' AND
notas.Semestre = '".$semestre."' AND
notas.Ano = '".$ano."' AND
notas.Id_materia = '".$_POST[materia]."' ORDER BY alumno.N_lista");


$datos=array();
$fila=0;
while($row= mysql_fetch_assoc($resultado)){
$datos[$fila]['nota1']= $_POST['nota1'.$row["Id"]];
$datos[$fila]['nota2']= $_POST['nota2'.$row["Id"]];
$datos[$fila]['nota3']= $_POST['nota3'.$row["Id"]];
$datos[$fila]['nota4']= $_POST['nota4'.$row["Id"]];
$datos[$fila]['nota5']= $_POST['nota5'.$row["Id"]];
$datos[$fila]['nota6']= $_POST['nota6'.$row["Id"]];
$datos[$fila]['nota7']= $_POST['nota7'.$row["Id"]];
$datos[$fila]['nota8']= $_POST['nota8'.$row["Id"]];
$datos[$fila]['nota9']= $_POST['nota9'.$row["Id"]];
$datos[$fila]['nota10']= $_POST['nota10'.$row["Id"]];

$fila++;
}

foreach($datos as $valor) {

$sql9= "INSERT INTO notas (nota1, nota2, nota3, nota4, nota5, nota6, nota7, nota8, nota9, nota10)
VALUES (".$valor['nota1'].",".$valor['nota2'].",".$valor['nota3'].",".$valor['nota4'].",".$valor['nota5'].",".$valor['nota6'].",".$valor['nota7'].",".$valor['nota8'].",".$valor['nota9'].",".$valor['nota10'].")";

$ingreso = mysql_query ($sql9);

}


} ?>
</form>
</body>
</html>
  #2 (permalink)  
Antiguo 23/09/2011, 08:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: capturar datos desde una grilla dinamica

El problema es que solo estás asignando las claves al atributo id, pero lo que recibe php son los name y eso no lo haces bien.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/09/2011, 09:32
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: capturar datos desde una grilla dinamica

gracias, he arreglado ese problema, pero aun el programa no realiza lo que quiero..
  #4 (permalink)  
Antiguo 23/09/2011, 09:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: capturar datos desde una grilla dinamica

¿Y de que forma puedes ayudarnos a ayudarte?

Sería bueno que imprimas la consulta del INSERT y nos muestres que dice.

Quedarte ahí esperando a que alguien magicamente te de una solución me parece una actitud bastante vaga.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/09/2011, 10:13
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: capturar datos desde una grilla dinamica

Gracias por tu interes y por tu llamada de atencion, de verdad estoy poco claro en donde creo esta el error

He recorrido todo mi programa e intente imprimir la consulta, pero no me aparece nada, supongo por que el array no esta capturando los datos... tambien intente imprimir el array cuando le agrego valores a los input de las notas con esta intruccion:

print_r($datos);

justo antes del foreach y tampoco me imprime nada, por lo cual creo que es problema del array...tambien trato de agregar datos y luego cuento los valores de mi array con

echo count($datos);

y me da 0, asi que ahi esta el problema, en el array, pero por mas que le busco el error no se lo encuentro

para ver si el problema estaba mas atras imprimi

echo $_POST['nota11'];

justo antes de abrir mi array para probar el input con Id = 1 y si me lo imprimio, asi que el problema es desde la apertura del array en adelante

Última edición por sefirotxx; 23/09/2011 a las 10:52

Etiquetas: dinamica, grilla, html, mysql, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:15.