Me parece que no estás entendiendo la idea...
El WHERE determina a qué registro debe realizarse la modificación. Si no aplicas ninguna condición en él, modificara todos los registros de la tabla, sin distinciones, poniendo los mismos datos en todos ellos.
En tu caso, ese "ID" debería llegar desde otra aprte, es decir, desde donde se está invocando al script, por $_POST. Si no está llegando,
no puedes hacer ninguna acción, no
debes hacer ninguna, y sólo devovler un mensaje de error diciendo que nose ha seleccionado el ID a modificar.
¿Se entiende?
Lo que debes verificar ahora es
por qué no está llegando ese dato, pero eso no lo sabrás en ese segmento, siono en el que lo invoca.
Ahora bien, dicho eso, ¿dónde está ese "id" en este código?:
Código HTML:
Ver original<?php
echo '
<tr align="center">
<form name="form1" method="post" action="act.php"><td><input type="date" name="fecha" value="'.$fila['fecha'].'" size="10"></td> ';
}
?>
Yo no lo veo...