Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/11/2012, 14:46
csrvlgrc
 
Fecha de Ingreso: agosto-2012
Ubicación: Veracruz
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 0
Sonrisa 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&aacute;s horarios</h4></a></td></tr>";
echo "</table>";

mysql_close($cnx);
exit;
}
?>