Base de Datos:
En razon de estos arrays:
Código:
Cada vez que actualizo el precio o la medida de un plato me guarda solo el ultimo en todos los registros de la base de datos correspondiente a ese plato. Por ejemplo, si yo guardara esta edicion, en la base de datos se actualizaria la tabla "carta_precios" con id 1 y 2 con el mismo registro ("Porcion Chica", "15"). Se entiende?array(5) { ["accion"]=> string(9) "act_plato" ["categoria_id"]=> string(3) "142" ["id"]=> string(3) "640" ["index"]=> string(1) "1" ["datos"]=> array(1) { ["plt"]=> array(1) { [2]=> array(6) { ["es"]=> array(2) { ["nombre"]=> string(10) "Plato Tres" ["texto"]=> string(22) "Descripcion plato tres" } ["en"]=> array(2) { ["nombre"]=> string(0) "" ["texto"]=> string(0) "" } ["precios"]=> array(2) { [0]=> array(2) { ["medida"]=> string(14) "Porcion Grande" ["precio"]=> string(2) "25" } [1]=> array(2) { ["medida"]=> string(13) "Porcion Chica" ["precio"]=> string(2) "18" } } } } } } $arrPrecios = $platos[$index + 1]['precios']; $cp = $dao->query("select * from carta_platos where id=$id")->fetch(); $id_plato = $cp['id']; $pp = $dao->query("select * from carta_precios where carta_platos_id=$id_plato")->fetchAll(); foreach ($pp as $ppid) { $precioId = $ppid['id']; //echo $precioId."\n"; foreach ($arrPrecios as $values) { //$precioId = $value['id']; $precioMedida = $values['medida']; $precioPrecio = $values['precio']; $sqlPrecio = "UPDATE carta_precios SET medida='$precioMedida',precio='$precioPrecio',carta_platos_id='$id_plato',estado='0' WHERE id='$precioId' AND carta_platos_id='$id_plato'"; $dao->exec($sqlPrecio); } }
Gracias por su ayuda desde ya.