Tengo un formulario donde los usuarios ingresan un número ilimitado de filas de datos. Llegan al formulario ingresando cualquier cantidad de filas en la pantalla que deseen.¿Está garantizado el orden de las ENTRADAS en un POST para las entradas de matriz en PHP?
<?php
$numRows = $_GET['NUM_ROWS_REQUESTED'];
?>
<form method="post">
<?php
for($i = 0; $i < $numRows ;$i++) {
$uuid = uniqid();
?>
<input type="text" name="MYDATA[<?php print $uuid; ?>][FIRST_NAME]" />
<input type="text" name="MYDATA[<?php print $uuid; ?>][LAST_NAME]" />
<?php
}
?>
</form>
Me pregunto si, cuando el formulario se envió y recibo estos registros en la matriz $_POST['MYDATA']
si se puede garantizar que van a ser ordenados en el mismo orden en que fueron publicadas en la pantalla. ¿O estarán ordenados por el uniqid()
que se genera al azar?
La razón por la que utilizo una ID única en lugar de solamente enteros que serían más fáciles de secuenciar, es que los usuarios pueden eliminar filas y agregar filas adicionales usando javascript en esa página. Sería muy difícil verificar colisiones.
Si no está seguro. Ordénalo. – DampeS8N
@ DampeS8N Realmente no tengo nada para ordenar. El orden de las entradas en la pantalla cuando las ingresan es el orden deseado. Sin hacer AJAX para recuperar la fecha del sistema, eso no será confiable ya que javascript usa la fecha de su PC. Esperaba evitar el análisis de filas existentes en javascript al crear nuevas filas. –
Puede agregar una entrada oculta con 'MYDATA [ Php print $ uuid; ?>] [SORT_ORDER] 'como nombre y un contador como valor. También puedes usar un contador como $ uuid. Si aún necesita un UUID, puede dejar que el servidor lo genere o usar el inverso de mi primer ejemplo: una entrada oculta con 'MYDATA [ Php print $ counter; ?>] [UUID] 'como nombre y $ uuid como valor. – ontrack