Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/10/2004, 14:08
Miliale
 
Fecha de Ingreso: octubre-2004
Ubicación: Mendoza
Mensajes: 4
Antigüedad: 19 años, 7 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.