Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

insertar array en mysql

PHP, HTML, CSS, JS, jQuery, etc.
Responder
nitramara
Observador/a
Mensajes: 2
Registrado: 21 May 2018, 04:21
Género:

insertar array en mysql

#1

Mensaje por nitramara »

Hola, me he visto abocado a intentar solicitarles colaboración con este tema ya que por mas que le he intentado no he logrado el cometido..
En primer lugar les indico que la idea es enviar atraves de post unos campos e insertarlos en la DB.
la verdad no logro ver cual es el error en este caso..
Este es el codigo HTML.

Código: Seleccionar todo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <link rel="icon" type="image/png" href="img/med.png" />
    <script type="text/javascript" src="js/accion.js"></script>
	<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
	<script src="//code.jquery.com/jquery-1.10.2.js"></script>
	<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
 
<script type="text/javascript">
$(function() {
            $("#documento").autocomplete({
                source: "includes/productos.php",
                minLength: 2,
                select: function(event, ui) {
					event.preventDefault();
                    $('#documento').val(ui.item.documento);
					$('#nombres').val(ui.item.nombres);
					$('#cargo').val(ui.item.cargo);
					$('#grado').val(ui.item.grado);
					$('#telefono').val(ui.item.telefono);
					$('#email').val(ui.item.email);
				  }
            });
		});
 
$(document).ready(function(){
    //group add limit
    var maxGroup = 5;
 
    //add more fields group
    $(".addMore").click(function(){
        if($('body').find('.fieldGroup').length < maxGroup){
            var fieldHTML = '<div class="form-group fieldGroup">'+$(".fieldGroupCopy").html()+'</div>';
            $('body').find('.fieldGroup:last').after(fieldHTML);
        }else{
            alert('Maximo '+maxGroup+' personas.');
        }
    });
 
    //remove fields group
    $("body").on("click",".remove",function(){
        $(this).parents(".fieldGroup").remove();
    });
});
		function onEnviar(){
			   document.getElementById("variable").value=newElem;
			}
 
    </script>
</head>
  <body>
<?php
	include("navbar.php");
?>
 
<form id="combo" name="combo" method="POST" onsubmit="return validate(this);" action="dinamicos1.php">
		<div id="caja1">
			<strong><span>Direccion Responsable</span></strong><br />
				<select name="dependencia">
				  <option value=""></option>
				  <option value="Despacho">Despacho</option>
				  <option value="transito">transito</option>
				  <option value="Direccion errada">Direccion errada</option>
				</select>
								<br />
						</DIV>
		<br /><strong><span>Objeto entrega</span></strong><br /><textarea class="textfield" id="objeto" name="objeto" cols="85" rows="2"></textarea>
 
		<div id="caja">
			<strong><span>Fecha de elaboración</span></strong>
			<input type="date" id="fecha_ela" name="fecha_ela" step="1" min="2017-09-01"
			 value="">
		<br />
			<strong><span>Numero de Registro</span></strong><br />
			<input type="text" size="5" name="registro" value="">
		<br />
			<strong><span>Fecha inico </span></strong>
			<input type="date" id="fecha_ini_comi" name="fecha_ini" step="1" min="2017-09-01" value="">
		<br />
			<strong><span>   Fecha  fin </span></strong><br />
			<input type="date" id="fecha_fin_comi" name="fecha_fin" step="1"
			min="2017-09-01" value="">
		</div>
	<form id="myForm">
		<div class="form-group fieldGroup">
		<strong><span> Ingresar persona(s) Max. 5  </span></strong>
			<div class="input-group">
				<input type="text" id="documento" name="documento[]"  onkeypress="return runScript(event)" placeholder="Digite Documento"/>
				<input type="text" id="nombres" name="nombres[]"  placeholder="Nombres"/>
				<input type="text" id="cargo" name="cargo[]"  placeholder="Cargo"/>
				<input type="text" id="grado" name="grado[]"  placeholder="Grado"/>
				<input type="text" id="telefono" name="telefono[]" placeholder="Telefono Contacto"/>
				<input type="text" id="email" name="email[]"  placeholder="Email"/>
				<div class="input-group-addon">
			<a href="javascript:void(0)" class="btn btn-success addMore"><span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>Adiciona</a>
				</div>
			</div>
		</div>
	<!---	
	--->    
 
	<div class="form-group fieldGroupCopy" style="display: none;">
		<div class="input-group">
				<input type="text" id="documento" name="documento[]" onkeypress="return runScript(event)" placeholder="Digite Documento"/>
				<input type="text" id="nombres" name="nombres[]" placeholder="Nombres"/>
				<input type="text" id="cargo" name="cargo[]" placeholder="Cargo"/>
				<input type="text" id="grado" name="grado[]" placeholder="Grado"/>
				<input type="text" id="telefono" name="telefono[]" placeholder="Telefono Contacto"/>
				<input type="text" id="email" name="email[]" placeholder="Email"/>
			<div class="input-group-addon">
		  <a href="javascript:void(0)" class="btn btn-danger remove"><span class="glyphicon glyphicon glyphicon-remove" aria-hidden="true"></span>Eliminar</a>
			</div>
		</div>
	</div>
	<div id="caja1" style="margin-bottom:4px;">
        <fieldset>
			<strong><span>Procesar</span></strong>
			     <input type="submit" name="submit" class="btn btn-primary" value="SUBMIT"/>
				 <input id="variable" name="variable" type="hidden" />
		</fieldset>
	</div
	</form>
</form>
  </body>
</html>
Y este es el PHP

Código: Seleccionar todo

echo "<pre>";
	var_dump($_POST);
	echo "</pre>";
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "BASE_DATOS";
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$jsondata = ($_POST["submit"]);
$usuariosArray = explode(PHP_EOL, $jsondata);
 
foreach ($usuariosArray as $usuario) {
  $jsondata = json_decode($usuario.PHP_EOL, true);
  $jsonarray[] = array($jsondata);
}
 
	foreach ($jsonarray as $row) {
 
		  $dependencia = $row[0]['dependencia'];
		  $objeto = $row[0]['objeto'];
		  $fecha_ela = $row[0]['fecha_ela'];
		  $registro = $row[0]['registro'];
		  $fecha_ini = $row[0]['fecha_ini'];
		  $fecha_fin = $row[0]['fecha_fin'];
		  $documento = $row[0]['documento'];
		  $nombres = $row[0]['nombres'];
		  $cargo = $row[0]['cargo'];
		  $grado = $row[0]['grado'];
		  $telefono = $row[0]['telefono'];
		  $email = $row[0]['email'];
			  $data = array('dependencia'=> $dependencia, 'objeto'=> $objeto, 'fecha_ela'=> $fecha_ela, 'registro'=> $registro,	'fecha_ini'=> $fecha_ini, 'fecha_fin'=> $fecha_fin, 'documento'=> $documento, 'nombres'=> $nombres, 'cargo'=> $cargo,'grado'=> $grado, 'telefono'=> $telefono, 'email'=> $email);
			  $stmt = $conn->prepare('INSERT INTO prueba (dependencia, objeto, fecha_ela, registro, fecha_ini, fecha_fin, documento, nombres, cargo, grado, telefono, email) VALUES (:dependencia, :objeto, :fecha_ela, :registro, :fecha_ini, :fecha_fin, :documento, :nombres, :cargo, :grado, :telefono, :email);');
			  $stmt->execute($data);
	 }
Este es el Error que me tira

( ! ) SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to a member function execute() on a non-object in C:\wamp\www\prueba\dinamicos1.php on line 40

Y este segundo caso.. que tampoco logro idear
Es que quiero que al crear el otro campo dinamico tambien pueda hacer lo que realizo con el primer campo.. y es que al digitar el documento de la persona me traiga desde la DB los campos que se requieren..
Pero no logro. hacer esto.. si me tiran algunas ideas.. bienvenidas..
Mil gracias..

Avatar de Usuario
J_Sparrow
Moderador
Mensajes: 1174
Registrado: 30 Oct 2009, 00:20
Género:
Edad: 62

Re: insertar array en mysql

#2

Mensaje por J_Sparrow »

@nitramara , faltan los datos de soporte, leete las <<NORMAS de SOPORTE>> por favor.

Contenido Oculto
Este foro requiere que este registrado e identificado para ver el contenido oculto.

Responder

Volver a “🆘 Recursos Webmaster”