Foros del Web » Programando para Internet » PHP »

Generar campos de texto de acurdo al numero de registros

Estas en el tema de Generar campos de texto de acurdo al numero de registros en el foro de PHP en Foros del Web. Hola buen dia soy nuevo en php y nuevo en el foro pero necesito de su gran ayuda. he encontrado un ejemplo que se acomoda ...
  #1 (permalink)  
Antiguo 15/07/2014, 15:12
 
Fecha de Ingreso: julio-2014
Mensajes: 6
Antigüedad: 9 años, 9 meses
Puntos: 0
Generar campos de texto de acurdo al numero de registros

Hola buen dia soy nuevo en php y nuevo en el foro pero necesito de su gran ayuda. he encontrado un ejemplo que se acomoda a mis necesidades.
lo que quiero es generar compos de texto dependiendo del numero de registros de mi tabla para ingresar unas notas de alumnos y luego guardarlas en una tabla.
tengo este ejemplo pero no me guarda loq quiero:


<?php
$mysqli = new mysqli('localhost', 'root','root', 'siadace01' );
$sql = "SELECT V_codi_est,V_nombre,V_apellido FROM tb_estudiantes";
$consulta = $mysqli->query($sql);
?>
<form action="guardar.php" method="post">
<table width="314" border="1">

<tr>
<td height="26" colspan="2">LISTA DE ESTUDIANTES </td>
</tr>
<tr>
<td width="137"><strong>Guardar Notas</strong></td>
<td width="161" height="26"><input type="submit" value="Guardar" /></td>
</tr>
</table>

<table cellpadding="0" cellspacing="5" border="0" class="bordered-table zebra-striped" id="registro">
<thead>
<tr bgcolor="#a6cbea">
<th>Dui</th>
<th>Nombre</th>
<th>Apellido</th>
<!-- <th><font color="blue">Modificar</font></th>
--> <th><font color="red"> (Seleccionar)</font></th>
</tr>
</thead>
<tbody>
<?php
while ($filas = $consulta->fetch_assoc())
{

echo '<tr>';
echo '<td ><a><font color="black">'.utf8_encode ($filas['V_codi_est']).'</a></td>';
echo '<td><a><font color="black">'.utf8_encode ($filas['V_nombre']).'</a></td>';
echo '<td><a><font color="black">'.utf8_encode ($filas['V_apellido']).'</a></td>';
//echo '<td ><a href=../form_act_personal.php?dui='.$filas['V_codi_est'].'><font color="blue">'.utf8_encode ('MODIFICAR').'</a></td>';
echo '<td><input type="checkbox" name="casilla[]" value='.utf8_encode ($filas['V_codi_est']).'></td>';
echo '<td><input type="text" name="nota1" size="2" ></td>';
echo '<td><input type="text" name="nota2" size="2"></td>';
echo '<td><input type="text" name="nota3" size="2"></td>';
echo '</tr>';
}
?>
<tbody>
</table>
</form>
AQUI ME GENERA CASILLAS PARA PODER INTRUDUCIR DATOS CON OTRO ARCHIVO LOS QUIERO ALMACENAR

ASI:
GUARDA:

<?php

include 'conexion.php';

$con=conexion();

$x=$_POST[casilla];
$not1=$_POST[nota1];
$not2=$_POST[nota2];
$not3=$_POST[nota3];

foreach ($x as $value){

$res=mysql_query("INSERT INTO `tb_notas`(`V_codi_est`,`C_id_asignatura`,`C_per_t ri`,`F_nota_1`,`F_nota_2`,`F_nota_3`,V_anio_lect) VALUES ('$value','a','b','$not1','$not2','$not3','2014')" ,$con);
if($res){

echo 'Dato GUARDADOS correctamente<br />';

}

}

?>


PERO EL DETALLE ES QUE SOLO ME GUARDA EL ULTIMO VALOR DE LAS NOTAS EN TODOS LOS REGISTROS PERO LOS CODIGOS ME LOS ALMACENA CORRECTAMENTE PERO NO LAS NOTAS.
  #2 (permalink)  
Antiguo 15/07/2014, 19:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Generar campos de texto de acurdo al numero de registros

Lo que sucede es que todos los campos de tu formulario se llaman igual, es normal que sólo tome en cuenta los últimos.

Por favor, consulta el manual para que entiendas cómo manejar varios campos a la vez.

http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/07/2014, 10:28
 
Fecha de Ingreso: julio-2014
Mensajes: 6
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Generar campos de texto de acurdo al numero de registros

Si ya lei la informacion que me recomendastes y en base a eso lo que realmente quiero es crear una lista de alumnos, que dependera del numero de registro de una tabla alumnos, a los cuales posteriormente les tengo que asignar unas notas por ejemplo 3 notas cada uno pero los campos de textos notas tienen que generarze de acuerdo al numero de registro que tenga la tabla alumnos algo asi:

si la tabla alumnos tiene 7alumnos me generara una lista de 7con 3 campos notas cada uno:


nombre nota1 nota2 nota3
juan
jose
carlos
maria
elena
carmen
noe
y luego los tengo que almacenar en una tabla notas y si tengo mas registros o menos tendria que generarlos.

encontre este otro ejemplo pero con arreglo vere si lo adapto
<?php
if (isset($_POST['municipio'])) {
$arr = array();
foreach ($_POST['municipio'] as $value){
foreach($value as $llave=>$valor){
$arr[$llave] = $valor;
}
}
echo "<pre>";
print_r($arr);
echo "</pre>";
}
$municipio = 3;
?>
<form action="" method="post">
<?php
for ($i = 0; $i <= 2; $i++) {
?>
<input type="text" name="municipio[][<?php echo $municipio; ?>]"/>
<?php
++$municipio;
}
?>
<input type="submit" value="Enviar">
</form>

esto me genera 3 campos textos y luego me los guarda en un arreglo

Etiquetas: campos, mysql, numero, registro, registros, select, sql, tabla
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 06:51.