Editar varios registros a la vez en paginacion

Covi
17 de Junio del 2004
Hola, necesito algo de ayuda please:
Tengo un script donde recupero registros de un base de datos en funcion de un formulario:

$query_ingresos = "SELECT * FROM `ingresos` WHERE 1 AND `id` > $ini_registros AND `id` < $max_registros ORDER BY $criterio";

Los resultados los imprimo con un bucle en otro formulario, y quiero usar este último para editar todos los registros que aparezcan, es decir, como si fuera una tabla de MSAcces.
Podría dar a cada registro la opcion de editar individualmente pero como decía quiero poder editarlos todos a la vez.

El problema es que la funcion de proceso la realizo fuera del bucle que muestra los resultados ya que de lo contrario deberia incluir un boton de envio con cada registro, y esto es lo mismo que editarlos individualmente XP.

De modo que la actualizacion me la realiza:
o solo del ultimo registro del bucle, como es lógico.
o si intento poner un rango de registros actualiza todos los registros con el mismo valor... como es lógico también ggg.

Pues no se me ocurre una manera de realizar esto, sí si metiera la consulta de actualizacion dentro del bucle pero no sabría como controlarla, ya que de lo contrario en el momento de seleccionar registros también intentaría actualizarlos no?, y no es lo más idóneo...
También he pensado en casillas de activación o algo así, pero sería lo mismo de engorroso que uno a uno.
Tampoco quiero editar registros seleccionados en un bucle con varios formularios como ocurre con myphpadmin cuando seleccionamos varios registros a editar.

No sé, por favor, una pequeña ayuda. Pongo el script:

/*************************************************************************/
<?php
// Formulario de Búsqueda:
?>
<form action="" method="post">
<table width="100%" cellspacing="0" cellpadding="4">
<tr>
<td colspan="5" align="left" valign="top">
Ordenar por: <select name="criterio" size="1">
<option value="<?php echo $criterio ?>" selected><?php echo $criterio ?></option>
<option value="id">Id</option>
<option value="fecha">Fecha</option>
<option value="dia_semana">Día Semana</option>
<option value="seccion">Sección</option>
<option value="tickets">Tickets</option>
<option value="importe">Importe</option>
</select>
Intervalo de registros de
<select name="ini_registros">
<option value="<?php echo $ini_registros ?>" selected><?php echo $ini_registros ?></option>
<option value="0">0</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
hasta <select name="max_registros">
<option value="<?php echo $max_registros ?>" selected><?php echo $max_registros ?></option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
<input type="submit" value="Ordenar!">
</td>
</tr>
</table>
</form>
<?php
// Si usa el boton ordenar
if ((isset($HTTP_POST_VARS["submit"])) && ($HTTP_POST_VARS["submit"] == "Ordenar!"))
{
// Variables cortas, criterio de ordenacion
$criterio = $_POST[criterio];
$max_registros = $_POST[max_registros];
$ini_registros = $_POST[ini_registros];

if (!isset($criterio))
$criterio = 'id';

if (!isset($ini_registros))
$ini_registros = '0';

if (!isset($max_registros))
$max_registros = '10';

$query_ingresos = "SELECT * FROM `ingresos` WHERE 1 AND `id` > $ini_registros AND `id` < $max_registros ORDER BY $criterio";
$ingresos = mysql_query($query_ingresos, $autserv_conn) or die(mysql_error());
$row_ingresos = mysql_fetch_assoc($ingresos);
$totalRows_ingresos = mysql_num_rows($ingresos);
}
echo "<strong>$totalRows_ingresos</strong>
Registros encontrados ordenados por <strong>$criterio</strong>,
desde <strong>$ini_registros</strong>
a <strong>$max_registros</strong>.";
?>
<form action="" method="post">
<table border="1" cellpadding="4" cellspacing="0">
<tr>
<td>ID:</td>
<td>Fecha:</td>
<td>D&iacute;a Semana:</td>
<td>Secci&oacute;n</td>
<td>T&iacute;ckets</td>
<td>Importe</td>
</tr>
<?php do {
$fecha_act = $row_ingresos['fecha'];
$fecha_act = cambiaf_a_normal($fecha_act);
?>
<tr>
<td>
<?php echo $row_ingresos['id']; ?>
<input name="id" type="hidden" value="<?php echo $row_ingresos['id']; ?>">
</td>
<td><input name="Fecha" type="text" value="<?php echo $fecha_act; ?>" size="10" maxlength="10" /></td>
<td>
<select name="dia_semana">
<option value="<?php echo $row_ingresos['dia_semana']; ?>" selected><?php echo $row_ingresos['dia_semana']; ?></option>
<option value="Lunes">Lunes</option>
<option value="Martes">Martes</option>
<option value="Miercoles">Miercoles</option>
<option value="Jueves">Jueves</option>
<option value="Viernes">Viernes</option>
<option value="Sabado">Sábado</option>
<option value="Domingo">Domingo</option>
</select>
</td>
</select>
</td>
<td>
<select name="seccion">
<option value="<?php echo $row_ingresos['seccion']; ?>" selected><?php echo $row_ingresos['seccion']; ?></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</td>
<td><input name="tickets" type="text" value="<?php echo $row_ingresos['tickets']; ?>" size="5" maxlength="5"></td>
<td><input name="importe" type="text" value="<?php echo $row_ingresos['importe']; ?>" size="8" maxlength="8"></td>
</tr>
<?php
}
// Fin del Bucle
while ($row_ingresos = mysql_fetch_assoc($ingresos));
?>
<tr align="center" valign="middle">
<td colspan="1">Opciones:</td>
<td colspan="5">
<input name="Enviar" type="submit" value="Actualizar Registros">
<input name="Recargar" type="submit" value="Recargar Formulario">
</td>
</tr>
</table>
</form>
<?php
// Proceso de Actualizacion
$id = $HTTP_POST_VARS['id'];
$fecha = $HTTP_POST_VARS['Fecha'];
$dia_semana = $HTTP_POST_VARS['dia_semana'];
$seccion = $HTTP_POST_VARS['seccion'];
$tickets = $HTTP_POST_VARS['tickets'];
$importe = $HTTP_POST_VARS['importe'];

/*echo "$id<br />
$fecha<br />
$dia_semana<br />
$seccion<br />
$tickets<br />
$importe<br />";*/

// Si usa el boton actualizar
if ((isset($HTTP_POST_VARS["Enviar"])) && ($HTTP_POST_VARS["Enviar"] == "Actualizar Registros"))
{
$updateSQL = "UPDATE ingresos SET fecha = '$fecha', dia_semana = '$dia_semana', seccion = '$seccion',
tickets = '$tickets', importe = '$importe' WHERE id = '$id'";
$result_insSQL = mysql_query($updateSQL, $autserv_conn);
if (!$result_insSQL)
echo "Los Registros no han sido Actualizados";
else
echo "Registros Actualizados Correctamente";
}
?>

Uy, espero no sea muy laro, gracias de antemano y un saludo.

Covi
17 de Junio del 2004
Bueno, más fácil, LoL.
Llamar a cada campo del formulario campo$i y yastá... torpecillo que es uno.