Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/10/2012, 08:58
Avatar de h2swider
h2swider
 
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Pasando varios parametros por $_POST

Me otorgaron un DER donde muchas tablas tienen como PK, 2 o mas FK.

Por ejemplo, la tabla tramitexcola tiene como pk id_cola , id_tramite, de las respectivas tablas cola y tramite.

El problema aparece cuando quiero listar los registros de colaxtramite para por ejemplo eliminarlos.

Entonces recurro a llenar el valor de los input con los dos datos, separados con un '#'
Código PHP:
Ver original
  1. <?php foreach ($tramitesxcola as $tramitexcola) { ?>
  2.                 <tr>
  3.                     <td><input class="sch" type="checkbox" name="borrar[]" value="<?php echo $tramitexcola->getId_cola().'#'.$tramitexcola->getId_tramite();?>"/></td>
  4.                     <td><?php echo $tramitexcola->getId_cola(); ?></td>
  5.                     <td><?php echo $tramitexcola->getId_tramite(); ?></td>
  6.                 </tr>
  7.             <?php } ?>

Código PHP:
Ver original
  1. if (isset($_POST['eliminar']) && !empty($_POST['borrar'])) {
  2.  
  3.         $unidades = $_POST['borrar'];
  4.  
  5.         $tramites_a_eliminar = array();
  6.         $contador = 0;
  7.         foreach ($unidades as $unidad) {
  8.             $unidades_explode = explode("#", $unidad);
  9.             $tramites_a_eliminar[$contador]['id_cola'] = $unidades_explode[0];
  10.             $tramites_a_eliminar[$contador]['id_tramite'] = $unidades_explode[1];
  11.             $contador++;
  12.         }
  13.  
  14.         $unidades_eliminadas = $svcTramitexCola->eliminarVariosTramitesxCola($tramites_a_eliminar);
  15.     }

No me parece algo muy prolijo, sobretodo cuando aveces tengo PKs de 4 o 5 campos.
Podria pasar el objeto completo en vez de los IDs, seria lo ideal, pero no me ocurre una buena manera de hacerlo.

¿Se les ocurre alguna manera mejor? despues pense en agregar un id propio a esas tablas, pero a los que me dieron el DER no les convencio mucho la idea.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives