![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
15/11/2012, 14:46
|
| | Fecha de Ingreso: agosto-2012 Ubicación: Veracruz
Mensajes: 4
Antigüedad: 12 años, 5 meses Puntos: 0 | |
Respuesta: Como validar ciclo for con PHP y MySql Antes de todo quiero agradecerles su tiempo para contestar. jandrogdz No necesito hacer ninguna consulta a la base de datos, ya que los registros que quiero comparar son los que estoy enviando a travez del formulario. Como verás en el codigo se ingresan varios registros al mismo tiempo y necesito saber si están repetidos para salirme con un exit.
Javier01 Ya probe tu propuesta y no me funciona.
Aqui dejo el formulario de envío y el script que recibe los datos de ese formulario haber si me pueden ayudar: Página del formulario. Solo pongo lo mas importante.
<html>
<head><title>Alta de horarios</title></head>
<body>
<form action="altaHora2.php" method="post">
<?php
//nos conectamos a mysql
$cnx=conectar();
//consulta mysql
$sql = "SELECT id_mat,id_grup,per_grup,nom_mat,sem_grup,id_prof,n om_prof,ap_prof,am_prof,esp_grup,letra_grup,turno_ grup,profesion FROM
grupo AS g, materia AS m, profesor AS p WHERE m.prof_mat=p.id_prof AND sem_grup=sem_mat AND esp_mat=esp_grup AND id_grup=".$_POST['id_grup'];
$res = mysql_query($sql) or die("<h3><br /><br />HA OCURRIDO UN ERROR EN LA CONSULTA...</h3>\n<br /><b>Consulta:</b> " . $sql . "<br /><br />\n
<b>Error:</b> (" . mysql_errno() . ") " . mysql_error());
if(mysql_num_rows($res) >0){
echo "<table>";
while($fila=mysql_fetch_array($res)){
echo "<tr><td width='120'><input class='inputId' type='text' id='id_mat' name='id_mat[]' value='". $fila["id_mat"] ."' readonly /></td>";
echo "<td width='400'><input class='inputGrande' type='text' id='nom_mat' name='nom_mat[]' value='".$fila['nom_mat']."' readonly /></td>";
echo "<td><input class='inputChico' type='text' id='hora' name='hora[]' value='' /></td><tr>";
echo "<tr><td><input class='inputMedio' type='hidden' id='id_grup' name='id_grup[]' value='".$fila['id_grup']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='esp_grup' name='esp_grup[]' value='".$fila['esp_grup']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='sem_grup' name='sem_grup[]' value='".$fila['sem_grup']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='turno_grup' name='turno_grup[]' value='".$fila['turno_grup']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='per_grup' name='per_grup[]' value='".$fila['per_grup']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='letra_grup' name='letra_grup[]' value='".$fila['letra_grup']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='id_prof' name='id_prof[]' value='".$fila['id_prof']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='nom_prof' name='nom_prof[]' value='".$fila['nom_prof']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='ap_prof' name='ap_prof[]' value='".$fila['ap_prof']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='am_prof' name='am_prof[]' value='".$fila['am_prof']."' /></td>";
echo "<td><input class='inputMedio' type='hidden' id='profesion' name='profesion[]' value='".$fila['profesion']."' /></td></tr>";
}
$total= mysql_num_rows($res);
echo "</table>";
echo "<br /><table class='datosAlumno' width='600' align='center' border='0' cellpadding='0' cellspacing='0'>";
echo "<tr><td><input class='inputId' type='text' value='' readonly /></td>";
echo "<td><input class='inputMedio' type='text' value='' readonly /></td>";
echo "<td><input class='inputMedio' type='text' value='' readonly /></td>";
echo "<td><input class='inputMedio' type='text' value='' readonly /></td>";
echo "<td><input class='inputChico' type='hidden' value='' readonly /></td>";
echo "<tr><td><input class='inputId' type='text' value='' readonly /></td>";
echo "<td><input class='inputMedio' type='text' value='' readonly /></td>";
echo "<td><input class='inputMedio' type='text' value='' readonly /></td>";
echo "<td class='total'><input class='inputMedio' type='text' value='Materias Totales: ' readonly /></td>";
echo "<td class='total'><input class='inputChico' type='text' id='total' name='total' value='$total' readonly /></td></tr>";
echo "</table>";
echo "</div>";
echo "<div class='botonesAlta'>";
echo "<input type='submit' name='altaHora' value='Dar de alta' />";
echo "</div>";
}else{
exit ("NO SE ENCONTRARON MATERIAS PARA ESTE GRUPO...");
}
mysql_close($cnx);
?>
</form>
</body>
</html> Página que recibe los datos del formulario.
<?php
//si el formulario ha sido enviado editamos el registro
if(isset($_POST['altaHora'])){
//Esta es la parte que no me funciona. Comparar si los registros
//obtenidos desde el formulario se repiten.
$array_horas = array();
for($i=0;$i<$_POST['total'];$i++){
if(in_array($_POST['hora'][$i], $array_horas)){
exit ("EL REGISTRO ESTA DUPLICADO");
}
}
//nos conectamos a mysql
$cnx=conectar();
for($i=0;$i<$_POST['total'];$i++){
$hora = $_POST['hora'][$i];
$mat_h = $_POST['id_mat'][$i];
$grup_h = $_POST['id_grup'][$i];
$per_h = $_POST['per_grup'][$i];
$nom_mat = $_POST['nom_mat'][$i];
$sem_grup = $_POST['sem_grup'][$i];
$nom_prof = $_POST['nom_prof'][$i];
$ap_prof = $_POST['ap_prof'][$i];
$am_prof = $_POST['am_prof'][$i];
$esp_grup = $_POST['esp_grup'][$i];
$letra_grup = $_POST['letra_grup'][$i];
$turno_grup = $_POST['turno_grup'][$i];
$profesion = $_POST['profesion'][$i];
$prof_h = $_POST['id_prof'][$i];
$sql = "INSERT INTO horario(hora,mat_h,grup_h,per_h,nom_mat,sem_grup,n om_prof,ap_prof,am_prof,esp_grup,letra_grup,turno_ grup,profesion,prof_h)
VALUES('$hora','$mat_h','$grup_h','$per_h','$nom_m at','$sem_grup','$nom_prof','$ap_prof','$am_prof', '$esp_grup','$letra_grup','$turno_grup','$profesio n','$prof_h');";
$res = mysql_query($sql) or die("<h3><br /><br />HA OCURRIDO UN ERROR EN LA CONSULTA...</h3>\n<br /><b>Consulta:</b> " . $sql . "<br /><br />\n
<b>Error:</b> (" . mysql_errno() . ") " . mysql_error());
}
echo "<br /><br /><table width='500' align='center' border='0'>";
echo "<tr><td align='left'>LOS HORARIOS SE HAN INGRESADO CON EXITO!!!</td></tr>";
echo "</table>";
echo "<table width='500' align='center' border='0'>";
echo "<tr><td align='left' width='250'><a href='admin.php'><h4>Ir a inicio</h4></a></td>";
echo "<td align='right'><a href='altaHora.php'><h4>Ingresar más horarios</h4></a></td></tr>";
echo "</table>";
mysql_close($cnx);
exit;
}
?> |