Pregunta:
Fecha: 26-02-2018 06:53:43
(En Español)
En los inputs del html vienen datos por post en Array separados por comas.
ejemp:
<input type="text" name="cantidad[]" value="3,5"/>
POO.
Gracias desde ya. Votos: 0 - Respuestas: 5 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
Insertar tablas relacionadas en php PDO y mysql [Resuelta]
Hola a todos, alguien que me de un ejeplo de insertar dos tablas relacionadas en php PDO y Mysql.En los inputs del html vienen datos por post en Array separados por comas.
ejemp:
<input type="text" name="cantidad[]" value="3,5"/>
POO.
Gracias desde ya. Votos: 0 - Respuestas: 5 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 27-02-2018 01:30:50 tu pregunta es muy genérica, darte ejemplos hay muchos, que se adapte a lo que requieres, es otra cosa, debes indicar que estas haciendo ahorita, que código de inserción has intentado, solo con ver una linea html y su valor no nos dice nada, que error recibes al internar hacer la inserción o recorrido del array entrante por ejemplo. Votos: 0 - Link respuesta
-
Fecha: 27-02-2018 04:10:57 Gracias por responder, pues vera tengo lo siguiente:
vista:
<form method="POST"> <input type="hidden" name="usuarioPe" id="usuario" value="'<?php echo $_SESSION["idUsuario"] ?>'" readonly> <input type="hidden" name="subtotal_De" id="subtotal_De" value="" readonly> <input type="hidden" name="costoEnvio_De" id="costoEnvio_De" value="10" readonly> <input type="hidden" name="igv_De" id="igv_De" value="" readonly> <input type="hidden" name="total_De" id="total_De" value="" readonly> <input type="hidden" name="cantidad_De[]" id="cantidad_De" value="" readonly> <input type="hidden" name="idproducto[]" id="idproducto_De" value="" readonly> <input type="hidden" name="precio[]" id="precio_De" value="" readonly> <?php $registroPedido = new ControladorPedidos(); $registroPedido -> ctrPedidoProducto(); ?> <button type="submit" class="btn colorSecundario">FINALIZAR PEDIDO</button> </form>
controlador PHP
class ControladorPedidos { public function ctrPedidoProducto(){ if (isset($_POST["usuarioPe"])) { $datos1=array("FechaPedido"=>'NOW()', "NumeroPedido"=>null, "envio"=>0, "idUsuario"=>$_POST["usuarioPe"], "SubTotal"=>$_POST['subtotal_De'], "costoEnvio"=>$_POST['costoEnvio_De'], "IGV"=>$_POST['igv_De'], "total"=>$$_POST['total_De'] ); #detalle $datos2= array("cantidad"=>$_POST['cantidad_De'], "precio"=>$_POST['precio_De'], "idProducto"=>$_POST['idproducto_De'] ); $tabla1="pedido"; $tabla2="detallepedido"; $respuesta=ModeloPedido::mdlRegistrarPedido($tabla1,$datos1,$tabla2,$datos2); } } }
Modelo PHP
require_once "conexion.php"; class ModeloPedido { /*============================================= NUEVO PEDIO =============================================*/ static public function mdlRegistrarPedido($tabla1,$datos1,$tabla2,$datos2){ $stmt = Conexion::conectar()->prepare("INSERT INTO $tabla1(FechaPedido, NumeroPedido, envio, idUsuario, SubTotal, CostoEnvio, IGV, total) VALUES(:FechaPedido,:EstadoPedido,:NumeroPedido,:envio,:idUsuario,:SubTotal,:CostoEnvio,:IGV, :total)"); $stmt->beginTransaction(); $stmt->bindValue(':FechaPedido', $datos1["FechaPedido"], PDO::PARAM_STR); $stmt->bindValue(':NumeroPedido', $datos1["NumeroPedido"], PDO::PARAM_STR); $stmt->bindValue(':envio', $datos1["envio"], PDO::PARAM_INT); $stmt->bindValue(':idUsuario', $datos1["idUsuario"], PDO::PARAM_INT); $stmt->bindValue(':SubTotal', $datos1["SubTotal"], PDO::PARAM_STR); $stmt->bindValue(':CostoEnvio', $datos1["CostoEnvio"], PDO::PARAM_STR); $stmt->bindValue(':IGV', $datos1["IGV"], PDO::PARAM_STR); $stmt->bindValue(':total', $datos1["total"], PDO::PARAM_STR); $stmt->execute(); $stmt->commit(); $lastId = $stmt->lastInsertId(); $piezas=explode(",",$datos2["cantidad"]); $pieza2=explode(",",$datos2["precio"]); $pieza3=explode(",",$datos2["idProducto"]); for ($i=0; $i < sizeof($piezas); $i++) { $stmt->prepare("INSERT INTO $tabla2(cantidad, Precio, idPedido, idProducto) VALUES(:cantidad, :Precio, :idPedido, :idProducto)"); $stmt->beginTransaction(); $stmt->execute(array(':cantidad'=>$piezas[$i], ':Precio'=>$pieza2[$i], ':idPedido'=>$lastId, ':idProducto'=>$pieza3[$i] )); $stmt->commit(); } } }
Es el codigo que tengo y no me a insertado a la base de datos, no retorna ningun error.
Gracias. Votos: 0 - Link respuesta -
Fecha: 27-02-2018 09:56:43 Ok pero si ves esto:
<form method="POST">
Allí donde le dices que envíe la información hacia tu controlador o a la función dentro de este por ejemplo??
en codeigniter sería esto:
<form method="post" action="<?php echo base_url() ?>controlador/function">
allí le estoy indicando al formulario que envía los campos hacia esa función de ese controlador, en tu código se esta enviando hacia si mismo, salvo que tengas alguna función o captura en dicha pagina que no has mostrando, no estas haciendo nada, solo enviado el form hacia si mismo. Votos: 0 - Link respuesta -
Fecha: 27-02-2018 10:30:35 Eso parte lo manejo con una funcion aparte, pero digame si el codigo del controlador y el modelo; estan bien o hay que cambiar algo. Votos: 0 - Link respuesta
-
Fecha: 27-02-2018 11:23:29 Sigo sin entender tu codigo y si no muestra esa fulana fu8ncion no se te puede ayudar, ya que no muestra ni veo como le haces llegar a tu funcion la informacion de tu formulario, es decir, ve esto:
No es lo mismo esto, que se envia hacia si mismo
<form method="post">
que este que si debería en teoria llegar hasta tu controlador
<form method="post" action="ControladorPedidos/ctrPedidoProducto">
se ve un poco distinto a lo que tienes alli, es decir el formulario con esa cabecera si debería de llegar hasta tu función en el controlador y ejecutar las acciones que pretendes, pero no creo que mágicamente php detecte y envíe dicha información hacia esa función dentro de ese controlados sin haber hecho la referencia a estos.
así que muestra la función que dices que maneja la llegada del formulario y envía la info hacia la función del controlador y veremos. Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión