ayuda con sistema de asistencia en PHP

pablomaximo1

Bovino adolescente
#1
hola amigos, alguien me podria ayudar a checar que esta mal en mi programa de control de asistencia, lo que requiero es que con un solo boton de insertar se guarde la asistencia de un grupo completo, los datos los mando a llamar de otra tabla que se llama control mi tabla donde guardo la asistencia se llama ASISTENCIA les estare bien agradecido

mi codigo es el siguiente



PHP:
<?php
echo '<body bgcolor=#FFFFFF text=#000000>
<table id="table4" borderColor="#666666" width="700" align="left" bgColor="#FFFFFF" border="0">
	<tr>
		<td height="51"><font color="#000000">
		<table border="0" width="100%" id="table7">
			<tr>
				<td></td>
			</tr>
		</table>';
        
        
     
require('config.php');


mysql_connect($server,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM CONTROL ORDER BY 'Name' ASC";
$result=mysql_query($query);

$num=mysql_num_rows($result);

echo "<hr>";

$i=0;
while ($i < $num) {

$Name=mysql_result($result,$i,"Name");
$ID=mysql_result($result,$i,"ID");
$Address=mysql_result($result,$i,"Address");
$City=mysql_result($result,$i,"City");
$Postal=mysql_result($result,$i,"Postal");
$MATERNO=mysql_result($result,$i,"MATERNO");
$SINO=mysql_result($result,$i,"SINO");
#$IP_Address=mysql_result($result,$i,"IP_Address");
#$ID=mysql_result($result,$i,"ID");

echo '<form method="post" action="'.$PHP_SELF.'">
<p align="left">Matricula:&nbsp;<input type="text" name="ASIMATRICULA" value="'.$Address.'" <p align="left">Nombre:&nbsp;<input type="text" name="ASISNombre" value="'.$Name.'" <p align="left">&nbsp;Dia/Mes/Año: <input type="text" name="ASISDIAMES" value="'.date("d/m/Y").'" size="15">
<p align="right">Asistencia:<input type=radio name=SINO value=1 Checked>Asistio&nbsp;<input type=radio name=SINO value=0>Falto</p>
</form>';

$i++;
}

mysql_close();



 echo   '<table border="0" width="97%" id="table6">
			<tr>
			</tr>
			<tr>
				<td></td>
			</tr>
		</table>
		</font></td>
	</tr>
</table>';

?>
<div> 

<?php
$server = "localhost";
$user = "admin";
$pass = "trq7b51xwg2f";
$db = "bases22";
$conec = @mysql_connect("$server", "$user", "$pass");
$dbconec = @mysql_select_db($db) or die (mysql_error());

if (isset($_POST['IN'])){

$sql = "INSERT INTO ASISTENCIA (ASISNombre,ASIMATRICULA,ASISDIAMES,SINO) VALUES ('".$_POST['ASISNombre']."','".$_POST['ASIMATRICULA']."','".$_POST['ASISDIAMES']."','".$_POST['SINO']."')";
$resp = mysql_query($sql, $conec) or die (mysql_error());

}else{

echo '<form method="post" action="'.$PHP_SELF.'">
<input type="submit" name="IN" value="Insertar">

</form>';
}
?>
</div>
aqui les dejo la captura del programa al darle insertar no me guarda los datos

 

registro500

Bovino adolescente
#2
quiero darte un TIP para estos casos...
para enviar muchos registros que tengan un mismo campo deberia crearse los inputs y demas mas o menos asi.

1er registro mostrado
<input type=text name="matricula[]" value="1111111">
<input type=text name="nombre[]" value="pepito">

2do registro mostrado
<input type=text name="matricula[]" value="2222222">
<input type=text name="nombre[]" value="juan">

3er registro mostrado
<input type=text name="matricula[]" value="333333">
<input type=text name="nombre[]" value="Florencia">

etc...



en el php para insertar seria de esta manera---- por el cual matricula[] y nombre[] son vectores


<?php
$matricula = $_POST["matricula"];
$nombre = $_POST["nombre"];
$filas = count( $matricula );
for($i=0;$i<$filas; $i++)
{
$nom = $nombre[$i]
$mat =$matricula[$i];
mysql_query("insert into MYTABLA(matricula,nombre) values ( '$nom','$mat' ) );
}

?>


TIP 2
para que se haga menos complicado en vez de usar 2 type=radio usaria 1 checkbox


suerte...
 
#3
bueno e visto el codigo por encima y observo algunos detalles como redundante, pero en el caso de insertar los datos en la tabla, prueba asignándole variables a los datos que estas insertando y no hacerlo mediante el $_POST , directamente, a mi a veces me pasaba eso saludos
 
#4
Ahora que e visto un poco mas, no se me parece que deberias es usar UPDATE, no INSERT, ya que por lo que veo estas actualizando los datos de una tabla, no agregando nuevos datos.
 

indiiztar

Bovino maduro
#5
Ahora que e visto un poco mas, no se me parece que deberias es usar UPDATE, no INSERT, ya que por lo que veo estas actualizando los datos de una tabla, no agregando nuevos datos.
No por que el trae los datos de una tabla equis, lo que el quiere es guardar esos datos a otra tabla, en este caso tendrias que llevarte los parametros recibidos en la primera consulta a tu otra insercion, y hacer el insert a tu tabla asistencias.
 
#6
No por que el trae los datos de una tabla equis, lo que el quiere es guardar esos datos a otra tabla, en este caso tendrias que llevarte los parametros recibidos en la primera consulta a tu otra insercion, y hacer el insert a tu tabla asistencias.
cierto tienes razon amigo, si vas a pasar esos datos a una bd nueva entonces asignale a cada campo una id y la pasas para que te lo inserte todo saludos
 
#9
Hola amigo, supongo eres nuevo en esto de desarrollar aplicaciones y por ello tienes tantos problemas. El chiste para solucionar los problemas o cubrir los requerimientos es planear como va a funcionar tu aplicacíon.

Primero de alguna manera grafica o textual describe los pasos que vas a realizar, es decir crea tu algoritmo.
Algo así:
conectar a bd
realizar consulta
imprimir datos de consulta en formulario,

Y la otra parte seria
enviar datos a pagina
recuperar datos
guardar datos
Terminar.

Segundo, contextualiza tu aplicación.
Es comun que mucha gente quiere tener una sola pagina donde realizar la mayoria de las tareas, pero no es una regla estricta. puedes usar varias paginas
por ejemplo. la primera que haga la consulta e imprima los datos,
la segunda página que reciba los datos y los guarde.
y que una vez hecho te los envie a la primera, o bien tener una tercer pagina que se a la principal.
Tu página falla por que no tienes una variable que diga si ya tienes los datos o no, es decir, una variable de estado.
bien puedes seguir con tu plan o hacerle caso a tu humilde servidor.

Un saludo y nunca faltes a una clase de ing. del software.
Planea, realiza, reviza y Actua.
 
Arriba