
21/10/2004, 14:08
|
| | Fecha de Ingreso: octubre-2004 Ubicación: Mendoza
Mensajes: 4
Antigüedad: 20 años, 5 meses Puntos: 0 | |
Hola otra vez!
Perdón por lo hincha.
Solucioné en parte mi problema, gracias a lo que me dijiste. Use la variable en la que cargo los datos, con sesiones.
Ahora me muestra los valores cargados, pero, no en las cajas de texto correspondientes, sino que empieza desde el índice cero ($simbolos[0]) a mostrarlas, y cada vez que agrego un dato en otra caja, me lo muestra a continuación de la última que mostró.
Aparte, si tengo dos filas, me pone el mismo valor en las dos filas (para la misma columna).
¿Tendré que hacer una matriz (tipo $simbolos[$j,$i], por ejemplo), en vez de $simbolos[$j]?
Te paso el código que agregué para que lo veas:
<?
session_start();
require("config.php");
require("lib.php");
echo "<html><head><title>$X_NOMBRE</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body> ......
.........
$sql = "SELECT max(id_rep) AS ultimo_idrep FROM reportes";
$result = mysql_query($sql,$dbi) or die(mysql_error($dbi)."<br>Error en búsqueda.(0) <br>$sql");
$cant = mysql_num_rows($result);
if($cant > 0){
while($fila = mysql_fetch_array($result)){
$id_rep=$fila["ultimo_idrep"];
}
$id_rep = $id_rep +1;
}else{
$id_rep = 1;
}
$sql = "SELECT max(id_detalle) AS ultimo_iddetalle FROM detalle_reportes";
$result = mysql_query($sql,$dbi) or die(mysql_error($dbi)."<br>Error en búsqueda.(0) <br>$sql");
$cant = mysql_num_rows($result);
if($cant > 0){
while($fila = mysql_fetch_array($result)){
$id_detalle=$fila["ultimo_iddetalle"];
}
$id_detalle = $id_detalle +1;
}else{
$id_detalle = 1;
}
if($simbolito!=""){
$sqla = "SELECT * FROM reportes WHERE objetivo='$servicio' AND turno='$turno' AND hora='$hora_desd' AND fecha='$fechahoy' ORDER BY id_rep";
$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){
$band = 1;
while($filaa = mysql_fetch_array($resulta)){
$id_rep=$filaa["id_rep"];
}
}else{
$band = 0;
}
if($band == 0){
... aca verifico que no exista ese registro...
}else{
//si no existe el registro, lo grabo
if($fland==0){
$sql2 = "INSERT INTO detalle_reportes SET id_rep=$id_rep, id_detalle=$id_detalle, simbolo='$simbolito'";
$result2 = mysql_query($sql2,$dbi) or die(mysql_error($dbi)."<br>Error en alta.(0) <br>$sql2");
$sql1 = "INSERT INTO reportes SET id_rep=$id_rep, objetivo='$servicio', turno='$turno', hora='$hora_desd', fecha='$fechahoy'";
$result1 = mysql_query($sql1,$dbi) or die(mysql_error($dbi)."<br>Error en alta.(0) <br>$sql1");
}
}
}
}
//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;
//aca recupero los datos que he ido cargando en la tabla, para mostrarlos en las cajas de texto
$sqla = "SELECT * FROM reportes AS r, detalle_reportes AS d WHERE r.id_rep=d.id_rep AND r.turno='$turno' ORDER BY r.id_rep";
$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){
$j = 0;
while($filaa = mysql_fetch_array($resulta)){
$simbolos[$j]=$filaa["simbolo"];
$fecha=$filaa["fecha"];
$fechah=substr("$fecha", 0, 10);
if($fechah == $fechaho){
session_register("simbolos[$j]");
$simbolos[$j]=$simbolos[$j];
}
$finj=$j++;
}
}
//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>";
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=\"reportesdino2.php?array=$array&valor=$val or&fin=$fin&col=$col&fila=$fila&actualizar=$actual izar&turno=$turnos[$j]&servicio=$servicios[$k]&hora_desd=$hora_desde[$j]&simbolo=$simbolos[$j]\" 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=\"$simbolos[$j]\" size=\"1\">";
session_register("simbolos[$j]");
$simbolos[$j] = $simbolos[$j];
//este campo hidden es para evitar tener los botones y dar enter para grabar
echo "<input type=\"hidden\" name=\"actualizar\" value=\"submit()\">";
echo "</form>";
}
$j++;
$finj=$j;
}
$i++;
$fini=$i;
}
}
}
$k++;
$fink=$k;
echo "</table>";
session_destroy();
?>
</body>
</html>
Gracias de nuevo por tu tiempo y tu ayuda.
Cualquier cosa, lo haré de nuevo de otra forma.
Gracias de nuevo.
Adriana. |