Foros del Web » Programando para Internet » PHP »

Formulario de Asistencia.

Estas en el tema de Formulario de Asistencia. en el foro de PHP en Foros del Web. Hola, resulta que estoy haciendo una pagina en php con mysql, donde guardo un conjunto de nombres con sus datos que representan alumnos, y tengo ...
  #1 (permalink)  
Antiguo 28/07/2010, 10:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 28
Antigüedad: 14 años, 10 meses
Puntos: 1
Formulario de Asistencia.

Hola, resulta que estoy haciendo una pagina en php con mysql, donde guardo un conjunto de nombres con sus datos que representan alumnos, y tengo que hacer un formulario para poder ingresar el estado (ausente o presente), osea que me tiene que aparecer el nombre del alumno y yo debo poner si esta austente o presente, probe con un checkbox pero solo me toma la ultmima variable, y no se como tomar las demas. Agradeceria mucho alguna ayuda, suerte y saludos.-
  #2 (permalink)  
Antiguo 28/07/2010, 10:26
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 6 meses
Puntos: 127
Respuesta: Formulario de Asistencia.

podrias dar mas info.
tienes un codigo ya echo para esto?
  #3 (permalink)  
Antiguo 28/07/2010, 11:10
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 3 meses
Puntos: 71
Respuesta: Formulario de Asistencia.

Por la pequeña descripcion y sin código, me atrevo a decir que no estas recorriendo los resultados, con un while, por ejemplo, es asi?
  #4 (permalink)  
Antiguo 28/07/2010, 12:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 28
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Formulario de Asistencia.

Este es una parte del codigo que obviamente no me funciona.

<?php
$i=0;
$conecta = mysql_connect('localhost', 'gheyler', 'camila');
$cone = mysql_select_db('dosshorizontes', $conecta);
$con = "select idEstado, sEstado from Estados";
$rescon = mysql_query($con);
while ($dataasist = mysql_fetch_assoc($rescon)) {
$name = $dataasist['sEstado'];
$estado = $dataasist['idEstado'];
$x.="<option value=\"$estado\">$name</option>";
}
//print utf8_encode($x);
while ($rows = mysql_fetch_array($restabla)) {
$arr[]=$rows['Nombre'];
//$_SESSION['presente'] = $rows['Nombre'];
$i=$i+1;
$_SESSION['i'] = $i;
$_SESSION['vari'] = $_SESSION['i']." ".$_SESSION['presente'];
echo "<tr>"
."<td align='center'><span class='Estilo10'>".$rows['Nombre']."</span></td>"
."<td align='center'><span class='Estilo10'>".$rows['Apellido']."</span></td>"
."<td align='center'><select name='".$i."' id='".$i."'>"
."<option>Seleccione</option>";
print utf8_encode($x);
"</select>"

."<td align='center'><input type='checkbox' name='".$pi."' value='".$rows['Nombre']."'></td>"
."</tr>";
if (isset($_SESSION['btnconsultar'])) {
if (isset($_GET[$i])) {
$_SESSION['presente'] = $rows['Grupo'];
echo "<td align='center'><span class='Estilo10'>".$_SESSION['presente']."</span></td>";

}
}
}
}

?>
  #5 (permalink)  
Antiguo 28/07/2010, 12:42
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 3 meses
Puntos: 71
Respuesta: Formulario de Asistencia.

Debes cambiar esta linea:
Código PHP:
."<td align='center'><input type='checkbox' name='".$pi."' value='".$rows['Nombre']."'></td>" 
Por algo asi:
Código PHP:
."<td align='center'><input type='checkbox' name='estados[]' value='".$rows['Nombre']."'></td>" 
Luego, al recoger los datos con $_POST tendras un array en $_POST['estados'] con los checkboxes seleccionados y el valor de value.

$_POST['estados'][0]; // Tendrá el value del primero checkbox SELECCIONADO, ojo, el SELECCIONADO, no el primero de la lista!
  #6 (permalink)  
Antiguo 28/07/2010, 18:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 28
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Formulario de Asistencia.

Hola, probe como me dijiste pero no me aparece el valor de estados, probe de varias formas y no se que estoy haciendo mal, el codigo lo deje asi pero no funciona.

if ($_SESSION['idprofesor'] == 0) {
$_SESSION['idprofesor'] = $_GET['profconsulta'];
}
//if (isset($_SESSION['btnconsultar'])) {
$tabla = "select Alumnos.sNombre as Nombre, Alumnos.sApellido as Apellido from Alumnos inner join Grupo on Alumnos.idGrupo = Grupo.idGrupo where Alumnos.idGrupo = ".$_SESSION['idprofesor'];
$restabla = mysql_query($tabla);
?>
<table align="center" border="3">
<tr>
<td><span class="Estilo9">Nombre</span></td>
<td><span class="Estilo9">Apellido</span></td>
<td><span class="Estilo9">Asistencia</span></td>
</tr>
<?php

$conecta = mysql_connect('localhost', 'gheyler', 'camila');
$cone = mysql_select_db('dosshorizontes', $conecta);
$con = "select idEstado, sEstado from Estados";
$rescon = mysql_query($con);
while ($dataasist = mysql_fetch_assoc($rescon)) {
$name = $dataasist['sEstado'];
$estado = $dataasist['idEstado'];
$x.="<option value=\"$estado\">$name</option>";
}
//$i=0;
while ($rows = mysql_fetch_array($restabla)) {
$i=$i+1;
echo "<tr>"
."<td align='center'><span class='Estilo10'>".$rows['Nombre']."</span></td>"
."<td align='center'><span class='Estilo10'>".$rows['Apellido']."</span></td>"
."<td align='center'><select name='".$i."' id='".$i."'>"
."<option>Seleccione</option>";
print utf8_encode($x);
"</select>"

."<td align='center'><input type='checkbox' name='estados[]' value='".$rows['Nombre']."'></td>"
."</tr>";

}
//}
$_SESSION['i'] = $i;
$_SESSION['pajaro'] = $_GET['estados'][$i];
?>
</table><br>
<br>
<div align="center"><input type="submit" name="genera" value="Generar Informe">&nbsp
<input type="submit" name="nueva" value="Nueva Consulta" onclick="document.consulta.submit()"></div>
<?php
if (isset($_GET['genera'])) {
$j=0;
echo "esto es i: ".$_SESSION['i'];
while ($j < $i) {
echo "recorriendo estados: ".$_SESSION['pajaro'][$i];
$j++;
}
}

if (isset($_GET['genera'])) {
echo "esto es estado nuevo".$_GET['estados[$i]'];
}

?>
</form>
</body>
</html>
  #7 (permalink)  
Antiguo 29/07/2010, 10:43
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 3 meses
Puntos: 71
Respuesta: Formulario de Asistencia.

Pon el resultado del html, por que parece que no se acaba de montar bien el formulario.

De todas formas, lo que digo yo, para que funcione, deberia quedar algo asi:
Código HTML:
<form ....>
<!-- Resto del formulario -->
<input type='checkbox' name='estados[]' value='ValorQueQuierasDarleAlcheckboxSeleccionado'>
<!-- Continua el formulario -->
</form> 
Luego, en el fichero donde procesas el formulario, puedes probar a poner esto, habiendo seleccionado algun checkbox, para que veas como te devuelve los datos:
Código PHP:
var_dump($_POST['estados']); 
Prueba, y nos cuentas.
  #8 (permalink)  
Antiguo 30/07/2010, 08:16
 
Fecha de Ingreso: febrero-2010
Mensajes: 28
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Formulario de Asistencia.

Hola, al final si funciono con el codigo que me pasaste, despues lo recorro con un while y se ven bien los datos seleccionados, asi que muchas gracias y saludos.-
  #9 (permalink)  
Antiguo 30/07/2010, 09:31
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 3 meses
Puntos: 71
Respuesta: Formulario de Asistencia.

No se merecen hombre.

Etiquetas: asistencia, formulario
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 03:59.