Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/05/2016, 10:56
wilson_romero
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: Como insertar arreglos en una base de datos ?

Resolvi todo el problema voy aponer el codigo por si alguien lo necesita

código HTML con un script para que corra el jquery

Código HTML:
Ver original
  1. <title>Timersys </title>
  2. <script type="text/javascript" src="jquery-1.11.3.min.js"></script>
  3. <script type="text/javascript" src="jquery.addfield.js"></script>
  4. $(function(){
  5.    
  6. });
  7.  
  8. </head>
  9. <link href="estilo.css" rel="stylesheet" type="text/css" />
  10. <div id="stylized" class="myform" style="margin:20px auto;">
  11.  
  12. <!--FROMULARIO -->
  13. <form id="form" name="form" method="post" action="datos.php">
  14. <div id="material_comprado"  > </div>  
  15. <h1>Compra de material</h1>
  16. <p>Si es necesario a&ntilde;ade el material a comprar</p>
  17. <div id="div_1">
  18. <label>Material de compra
  19. <span class="small">A&ntilde;ade los materiales</span>
  20.     <input  type="text"  name="materiales[]"  style="width:200px;" /><span style="float:left;padding: 8px 0px 8px 8px;">Cantidad:</span>
  21.     <input type="text" name="cantidadmateriales[]"  style="width:40px;" /><input class="bt_plus" id="1" type="button" value="+" /><div class="error_form"></div>
  22. </div>
  23. <button type="submit" class="boton">Save</button>
  24. <div class="spacer"></div>
  25. </form>
tiene que bajar este archivo de jquery para que corra el jquery esta anesado enel html jquery file


codigo script
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     //ACA le asigno el evento click a cada boton de la clase bt_plus y llamo a la funcion addField
  3.         $(".bt_plus").each(function (el){
  4.             $(this).bind("click",addField);
  5.                                      });
  6.                             });
  7.  
  8.  
  9. function addField(){
  10. // ID del elemento div quitandole la palabra "div_" de delante. Pasi asi poder aumentar el número. Esta parte no es necesaria pero yo la utilizaba ya que cada campo de mi formulario tenia un autosuggest , así que dejo como seria por si a alguien le hace falta.
  11.  
  12. var clickID = parseInt($(this).parent('div').attr('id').replace('div_',''));
  13.  
  14. // Genero el nuevo numero id
  15. var newID = (clickID+1);
  16.  
  17. // Creo un clon del elemento div que contiene los campos de texto
  18. $newClone = $('#div_'+clickID).clone(true);
  19.  
  20. //Le asigno el nuevo numero id
  21. $newClone.attr("id",'div_'+newID);
  22.  
  23. //Asigno nuevo id al primer campo input dentro del div y le borro cualquier valor que tenga asi no copia lo ultimo que hayas escrito.(igual que antes no es necesario tener un id)
  24. $newClone.children("input").eq(0).attr("id",'materiales'+newID).val('');
  25.  
  26. //Borro el valor del segundo campo input(este caso es el campo de cantidad)
  27. $newClone.children("input").eq(1).val('');
  28.  
  29. //Asigno nuevo id al boton
  30. $newClone.children("input").eq(2).attr("id",newID)
  31.  
  32. //Inserto el div clonado y modificado despues del div original
  33. $newClone.insertAfter($('#div_'+clickID));
  34.  
  35. //Cambio el signo "+" por el signo "-" y le quito el evento addfield
  36. $("#"+clickID).val('-').unbind("click",addField);
  37.  
  38. //Ahora le asigno el evento delRow para que borre la fial en caso de hacer click
  39. $("#"+clickID).bind("click",delRow);                   
  40.                        
  41. }
  42.  
  43.  
  44. function delRow() {
  45. // Funcion que destruye el elemento actual una vez echo el click
  46. $(this).parent('div').remove();
  47.  
  48. }

archivo PHP
Código PHP:
Ver original
  1. $lista=implode(' A ',$_POST['materiales']);
  2.  echo $lista;
  3.  
  4. require("../conexion/conexionmsqli.php");
  5.  //consulta mysql que insertara una vez por cada elemento
  6.  $query1 = mysqli_query($conexion,"INSERT INTO bd  VALUES ('$lista')");

si lo quieren insertar los datos por separado este es el código

Código PHP:
Ver original
  1. for($i=0;$i<count($_POST['materiales']);$i++){
  2.     $materiales = $_POST['materiales'][$i];
  3.     echo "<pre>";
  4.  
  5. $inser = $materiales;
  6. echo $inser;
  7. include '../conexion/conexionmsqli.php';
  8. mysqli_query($conexion, "INSERT INTO a (info) VALUES ('$inser')");
  9. }

Última edición por wilson_romero; 26/05/2016 a las 21:28