No. Eso hace lo mismo que lo mio. Exactamente, tu codigo, hace una tabla (id, desc, fecha, num_pieza, uds), luego vuelve a hacer otra tabla identica donde varia el num_pieza y las uds, y luego ya hace la que deberia ser la segunda tabla (es la tercera) con el segundo id. Vamos, que hace lo mismo que mi codigo: una tabla por referencia (num_pieza) en vez de una tabla por id. Os voy a pegar el codigo que he hecho yo, a ver si alguien es capaz de echarme una mano con los arrays, porque si me dibuja dos tablas, pero la desc y la fecha me las repite por no recorrer todos los arrays al mismo tiempo. No os hagais mucho caso de los comentarios que son de otra pelicula:
Código:
while ($row[]=mysql_fetch_assoc($resultado));
mysql_free_result($resultado);
mysql_close($c);
array_pop($row);
array_multisort($row, SORT_ASC);
$row2=$row;
$row3=$row;
function filtrar_array(&$array, $clave_orden) {
$array_filtrado = array(); // inicializamos un nuevo array
// creamos un bucle foreach para recorrer el array original y “acomodar” los datos
foreach($array as $index=>$array_value) {
// guardamos temporalmente el nombre de la categoría
$value = $array_value[$clave_orden];
// eliminamos la categoria del registro, ya no la necesitaremos
unset($array_value[$clave_orden]);
// creamos una clave en nuestro nuevo array, con el nombre de la categoria
// y como valor le sumamos el array conteniendo producto y precio
$array_filtrado[$value][] = $array_value;
/* en cada iteración, si el nombre de la categoría ya figura como clave, será
sobreescrito y se le agregará como nuevo valor, solo los datos de producto
y precio. Si la categoria no existe, ahí sí, creará la nueva clave */
}
$array = $array_filtrado; // modificamos automáticamente nuestro array global $row
}
//llamamos a la función para filtrar los datos
filtrar_array($row, 'id_averia');
filtrar_array($row2, 'desc_averia');
filtrar_array($row3, 'fecha');
//recorremos el array para imprimirlo con formato HTML
foreach($row as $id_averia=>$num_piezas) {
echo "
<table align=center border=2>
<FORM name='modificar' method='POST' action='consultaaverias2.php'>
<tr>
<td>ID de la averia</td>
<td><input type='text' name='id_averia' value='$id_averia'></td>
</tr>
";
foreach($row2 as $desc_averia=>$descripciones){
echo "
<tr>
<td>Descripción de la averia</td>
<td><input type='text' name='desc_averia' value='$desc_averia'></td>
</tr>
";
foreach($row3 as $fecha=>$fechas){
$prueba=$fecha;
$sFechaNormal = implode( '/', array_reverse( explode( '-', $prueba ) ) ) ;
echo "
<tr>
<td>Fecha Averia</td>
<td><input type='text' name='fecha' value='$sFechaNormal'></td>
</tr>
";
// imprimimos la categoría
// recorremos los productos
foreach($num_piezas as $num_pieza) {
// imprimimos producto y precio
$num_pieza1=$num_pieza['num_pieza'];
echo "
<tr>
<td>Referencia de la Pieza</td>
<td><input type='text' name='num_pieza' value='$num_pieza1'></td>
</tr>
";
$unidades1=$num_pieza['unidades'];
echo "
<tr>
<td>Cantidad</td>
<td><input type='text' name='unidades' value='$unidades1'></td>
</tr>
";
}
}
}
echo "
<td align=center><input type='submit' value='Modificar'></td>
</tr>
</form>
</table>
";
}