Php Insertar Objetos de Arrays en Tabla de Mysql

Iniciado por Slikp, 5 Octubre 2016, 00:41 AM

0 Miembros y 1 Visitante están viendo este tema.

Slikp

- Buenas a todos tengo problema con los Arrays espero alguien pueda iluminarme... Bueno tengo un formulario donde sus campos se cargan dinamicamente ( los Tr, Td e Input) insertando en los input resultados obtenidos de una BD.



- Hay todo bien, pero yo estoy intentando hacer una especie de registro de compra ya sea para luego imprimir nuevamente el Ticket o comprobante de compra, para ver el registro en pantalla de las compras del dia o para exportarlo a Excel. Donde esta mi problema? pues que estoy intentando guardar todos esos datos en la BD y no he podido lograrlo.

- Los avances que logre fueron los siguientes cambien un poco la estructura de la tabla he inserte todo en un formulario quedando como la imagen anterior y en codigo asi.

Código (html4strict) [Seleccionar]

<tr>
        <?php
      foreach ((array)
$pro as $fila):
    ?>

<td id="ver"></td>
    <td>1</td>
    <td><input class="cant" type="number" min="1" name="cant[]"></td>
    <td><input type="text" class="product" name="product[]" value="<?php echo $fila['producto'];?>" style="border: none;text-align: center"></td>
    <td class="marc"><input type="text" name="marc[]" value="<?php echo $fila['marca'];?>" style="border: none;text-align: center"></td>
    <td class="preci"><input type="text" name="preci[]" class="precio" value="<?php echo $fila['precio'];?>" style="border: none;text-align: center"></td>
    <td ><input type="text" name="importe[]" class="importe" value="" style="border: none;text-align: center"></td>
    <td><button class="btn btn-danger fa fa-times drop" type="reset"></button></td>
    <td><input class="subtotal" type="hidden" name="subtotal[]" value="0"></td>
<?php
     endforeach;
    ?>

</tr> 


- Eso se inserta aqui a traves de una funcion en Jquery.
Código (html4strict) [Seleccionar]

<form id="form_form">
<table class="table text-center table-hover table-reflow">
  <thead>
    <tr>
    <th class="text-center"></th>
      <th class="text-center">ITEM</th>
      <th class="text-center">Cant.</th>
      <th class="text-center">Producto</th>
      <th class="text-center">Marca</th>
      <th class="text-center">Precio</th>
      <th class="text-center">Importe</th>
      <th class="text-center">Trash</th>
    </tr>
  </thead>
<tbody id="resulsetp">
  <!--
  SE SUPONE QUE AQUI VAN A CAER LOS DATOS DE UN FOREACH TRAIDOS DESDE UN AJAX
  Y TODO LO DEMAS EN CADA TD PARA ASIGNAR LOS DATOS CORRESPONDIENTES
  EN CADA ITERACION Y MAS O MENOS SE VERA ASI
    -->
    </tbody>
</table>
  </div>
</form>


- Ok lo hice de ese modo porque vi unos ejemplos de .serialize() pero no pude encontrar alguno en el cual se creen campos dinamicos o como es la recepcion de los datos dinamicos en Php. Entonces del lado de php he intentado recibir estos datos de muchas formas pero solo logro obtener el primer elemento del array o serialize los envio a traves de un Ajax asi.

Código (html4strict) [Seleccionar]

$('.genera').click(function(e){
e.preventDefault();
var selectic = $('.selectic').val();
  var selectpa = $('.selectpa').val();
  var serie_m = $('.serie-m').val();

  if (selectic == '0' || selectpa == '0' || serie_m === '') {
  alert(" Por Favor Complete El Campo Faltante.");
  } else
    {
    var dataString = $('#form_form').serialize();
   
    $.ajax({
            url: 'insprmtick.php', 
            type: 'POST',
            data: dataString,
            success: function(data){
                if (data!="") {
                    $('#retick').hide().html(data).fadeToggle();
                }
            },
        });
    }  
});


- Y estoy tratando de procesarlos con Php asi, intente primero imprimirlos a ver como se vea la informacion y obtuve lo siguiente.

Código (php) [Seleccionar]

foreach($_POST as $posicion=>$valor) {
     echo "<pre>";
      print_r("El " . $posicion . " es: " . $valor[1]);
    echo "</pre>";
   }


- Eso me da esto. Osea solo el ultimo valor.



- Intente esto pero no quiero me lo exprese de esa forma.

Código (php) [Seleccionar]

    echo "<pre>";
      print_r($_POST);
    echo "</pre>";




- Ahora bien ni siquiera he intentado insertarlo en la BD porque si ni puedo imprimirlos como yo quiero no tiene caso tratar de insertarlos. Pero los Insert que suelo usar son de este tipo.

Código (php) [Seleccionar]

public function inswinner($numeral, $interes)
  {
    $model = new Stock();
    $conexion = $model->conec();
    $sql = "INSERT INTO ganador VALUES('null','".$_POST['x']."','".$_POST['z']."','".$numeral."','".$interes."')";
    $consulta = $conexion->prepare($sql);
    $consulta->execute();
  }


- Se agradece infinitimanete todo el conocimiento que puedan aprotarme. Saludos.

.rn3w.


Slikp

- Buenas noches .rn3w. Gracias por responder.

Cita de: .rn3w. en  5 Octubre 2016, 03:23 AM
donde esta tu clase selectic?

- Puedes obviar esas tres lineas me refiero a:

Código (javascript) [Seleccionar]

var selectic = $('.selectic').val();
var selectpa = $('.selectpa').val();
var serie_m = $('.serie-m').val();


- Esas no tienen nada que ver en lo que necesito ahora, esas tres las tomo de otro lado pero no las necesito en mi serialize.