Hola.
Tengo un codigo en php que arma a partir de una base de datos en mysql, un arreglo de cajas de texto.
Lo que ingresa el usuario, lo graba bien. El problema es cuando recargo la pagina, porque necesito que cada valor ingresado en las cajas de texto, me los muestre en su correspondiente lugar.
Pero, solo me muestra el ultimo valor ingresado en todas las cajas de texto que tengo en el formulario.
Supongo que el tema viene por el lado de que tengo tres for anidados, y dentro de ellos un input type="text", para armar el arreglo.
¿Alguien sabe como puedo solucionar esto?
Les dejo parte del codigo para que vean que estoy haciendo mal.
//selecciono los objetivos para formar las filas
$sql1 = "SELECT * FROM servicios ORDER BY nom_objetivo";
$resulta1 = mysql_query($sql1,$dbi) or die(mysql_error($dbi)."<br>Error en busqueda.(0) <br>$sql1");
$cant = mysql_num_rows($resulta1);
if($cant >0){
$canti = $cant;
$k=0;
while($filaa1 = mysql_fetch_array($resulta1)){
$servicios[$k] = $filaa1["nom_objetivo"];
$k++;
}
$fin = $k;
}
//selecciono los horarios para formar las columnas
$sql2 = "SELECT * FROM simbolos_reportes WHERE turno='maniana' ORDER BY turno";
$resulta2 = mysql_query($sql2,$dbi) or die(mysql_error($dbi)."<br>Error en busqueda.(0) <br>$sql2");
$cant = mysql_num_rows($resulta2);
if($cant >0){
$i=0;
while($filaa2 = mysql_fetch_array($resulta2)){
$turnos[$i] = $filaa2["turno"];
$horas_desde[$i] = $filaa2["hora_desde"];
$i++;
}
$fint = $i;
}
$col=24;
$fila=$canti/$col;
//armo la matriz
echo "<center><table border=1 width=100%>
<td><span class=\"Estilo3\">Objetivos</span><td colspan=24><center><span class=\"Estilo3\">Horario</span></center>";
for($k=0;$k<$fin;$k++){
if($servicios[$k]!=$servicios[$k-1]){
if($servicios[$k]!=$servicios[$k-2]){
echo "<tr><th scope=\"row\"><span class=\"Estilo3\">$servicios[$k] </span></th>";
//aca recupero el valor que guarde la vez anterior (deberia traer todos los valores del dia de hoy y del turno correspondiente)
//Esto lo comente, porque trate de recuperar los datos de la tabla, y me hace lo mismo que si no lo pongo
/*$sqla = "SELECT * FROM reportes AS r, detalle_reportes AS d WHERE r.hora='$hora_desd' AND r.objetivo='$servicio' AND r.turno='$turno' AND r.fecha='$fechahoy' AND r.id_rep=d.id_rep ORDER BY r.objetivo, r.turno, r.hora";
$resulta = mysql_query($sqla,$dbi) or die(mysql_error($dbi)."<br>Error en búsqueda.(0) <br>$sqla");
$cant = mysql_num_rows($resulta);
if($cant > 0){
$h=0;
while($filaa = mysql_fetch_array($resulta)){
$s[$h]=$filaa["simbolo"];
$id_rep=$filaa["id_rep"];
$objetivo[$h]=$filaa["objetivo"];
$hora[$h]=$filaa["hora"];
}
if($objetivo[$h]!=$objetivo[$h-1] AND $hora[$h]!=$hora[$h-1]){
echo "<td>";
echo "<center><span class=\"Estilo1\">$hora[$h] Hs.</span></center><br>";
echo "$s[$h]";
}
}else{ */
for($i=0;$i<$fila;$i++){
for($j=0;$j<$col;$j++){
if($turnos[$j]=='maniana'){
$hora_desde[$j]=$horas_desde[$j];
}
//solo traer a todas las cajas de texto el mismo valor (el ultimo que guarde)
//cuando en realidad deberia quedar en cada caja de texto el valor que le corresponde al objetivo y a la media hora correspondiente
echo "<td>";
echo "<center><span class=\"Estilo1\">$hora_desde[$j] Hs.</span></center><br>";
echo "<form action=\"reportesdino21.php?fin=$fin&col=$col&fila =$fila&actualizar=$actualizar&turno=$turnos[$j]&servicio=$servicios[$k]&hora_desd=$hora_desde[$j]&simbolo=$simbolos\" target=\"_self\" method=\"post\">";
//coloco las cajas de texto (como una planilla de excel) para que el usuario ingrese el simbolo que desee
echo "<input type=\"text\" name=\"simbolos[$j]\" value=\"$simbolito\" size=\"1\">";
$simbolos = $simbolos[$j];
echo "<input type=\"submit\" name=\"actualizar\" value=\"OK\">";
echo "</form>";
}
$j++;
$finj=$j;
}
$i++;
$fini=$i;
// }
}
}
}
$k++;
$fink=$k;
echo "</table>";
Desde ya les agradezco su ayuda.