Nueva pregunta

Pregunta:

Fecha: 30-01-2016 15:31:01 (En Español)

No consigo poder guardar datos a una tabla relacionada en PHP y MySQL[Resuelta]

Buenas noches camaradas, tengo un problemita al cual le e dado bastantes dias y pues termine por consultar con ustedes que quizas me orienten en como solucionarlo, les describo paso a paso.
1-: tengo un formulario en el cual selecciono unos datos mediante un select de una tabla en mysql... aqui les dejo el code
 
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="UTF-8">
	<title>sirredes</title>
	<link rel="stylesheet" type="text/css" href="estilos.css">
</head>
<body>

	<div class="contenido">

		
	<form action="insertar_datos_recoleccion.php" method="post">
		<?php
			include("conexion.php");
		?>
	<h1 class="letracabecera">datos recoleccion</h1>
	<div id="inputruta">
		
		<select name="seleccione_N°_planilla" required />
			<option>N° de planilla</option>
				<?php  
				$sql="SELECT * from datos_planilla_recoleccion"; //una tabla
				$consulta=mysql_query($sql);
				while($row=mysql_fetch_array($consulta)) { ?>

			<option value="<?php $row['id_datos_planilla_recoleccion']?>"><?php echo $row['numero_planilla']?></option>
				<?php } ?>
		</select>
		
		<select name="contenedor" required />
			<option>Contenedor</option>
				<?php 
				$sql="SELECT * from contenedor";	//otra tabla
				$consulta2=mysql_query($sql);
				while($row=mysql_fetch_array($consulta2)) { ?>

			<option value="<?php $row['id_contenedor']?>"><?php echo $row['numero_contenedor']?></option>
				<?php } ?>
		</select>
		
		<input type="text" name="porcentaje" size="15" maxlength="50" placeholder="porcentaje" required />
		
		<input type="text" name="lavado" size="15" maxlength="50" placeholder="lavado" required />
		<input type="text" name="estatus" size="15" maxlength="50" placeholder="estatus" required />	
				
	</div>
	
	<div id="actions">
		<input type="submit" value="GUARDAR" id="submit">
		<input type="reset" value="CANCELAR" id="reset">
	</div>
		
	</form>

	</div>
	

</body>
</html>

bueno hasta aqui todo funciona bien, luego tengo el archivo que recibe las variables donde pongo el code sql para insertar en una tabla que esta relacionada les muestro el code
<?php
	$id_datos_planilla_recoleccion = $_POST['id_datos_planilla_recoleccion'];
	$id_contenedor = $_POST['id_contenedor'];
	$porcentaje = $_POST['porcentaje'];
	$lavado = $_POST['lavado'];
	$estatus = $_POST['estatus'];
	
	
include("conexion.php");
	$_GRABAR_SQL = "INSERT INTO recoleccion_contenedor 
	(id_datos_planilla_recoleccion,id_contenedor,porcentaje,lavado,estatus) 
	VALUES 
	('$id_datos_planilla_recoleccion','$id_contenedor','$porcentaje','$lavado','$estatus')";  
	mysql_query($_GRABAR_SQL);

	
?>

bueno aqui empieza el problema que al recibir los datos solo me recibe los datos de los input y no el de los select el cual extraigo de una tabla como antes mencione, y no inserta los datos en esa tabla que esta relacionada con dos tablas se las describo:

tabla recoleccion_contenedor
id_recoleccion_contenedor
id_datos_planilla_recoleccion ------> este campo se relaciona con el campo id de la tabla d datos_planilla_recoleccion
id_contenedor -------> este campo se relaciona con el id de otra tabla llamada contenedor
porcentaje
lavado
estatus.

pues espero que alguno de ustedes me sugiera o me oriente como solucionar este problema, si consigo como hacerlo, enseguida me respondere para la pregunta para que otro camarada solucione uno igual. gracias y saludos desde venezuela
Etiquetas: HTML - MySQL - PHP - Pregunta Votos: 3 - Respuestas: 8 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 31-01-2016 06:39:15
    INSERT INTO recoleccion_contenedor (id_datos_planilla_recoleccion,id_contenedor,porcentaje,lavado,estatus) VALUES 
    ('{$id_datos_planilla_recoleccion}','{$id_contenedor}','{$porcentaje}','{$lavado}','{$estatus}')


    solo tengo una pregunta ¿por que utilizas mysql?
    ya esa extensión "fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0 . En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL."
      Votos: 4 - Link respuesta
     
  • Fecha: 31-01-2016 10:33:07 aun todavia no e podido guardar datos pero si yo quito la relacion de esa tabla si me los guarda pero los valos id los pone en cero, no uso las nuevas extensiones por que no e actualizado mi version de php...
    respecto a que no me guarda que puede estar pasando que si esta relacionada no guarda ninguno de los datos y si no esta relacionada si los guarda pero los id los guarda en cero
      Votos: 1 - Link respuesta
     
  • Fecha: 31-01-2016 12:39:39 no tienes un control de errores en tu proyecto?
    define('ENTORNO_DESARROLLO', false);
    
    function ReportarError(){
    	if (ENTORNO_DESARROLLO == true):
    		error_reporting(E_ALL);
    		ini_set('display_errors','On');
    	else:
    		error_reporting(E_ALL);
    		ini_set('display_errors','Off');
    		ini_set('log_errors', 'On');
    		ini_set('error_log', 'error.log');
    	endif;
    }

    eso te facilitara mas el desarrollo ya que te dice en que linea esta tu problema,
    por otro lado revisa el value de la etique opcion de los 2 select que tienes en el formulario que concuerde bien
      Votos: 3 - Link respuesta
     
  • Fecha: 31-01-2016 13:17:20 ok lo hare, el proyecto lo empeze esta semana y me tope con este problema, pero sin relacion todo me guarda bien el problema esta en cuando relaciono la tabla   Votos: 1 - Link respuesta
     
  • Fecha: 01-02-2016 10:22:03 Hola Juan, analizando tu código veo que tienes un problema en los atributos "name" de tus controles "select" en el HTML, los nombres no coinciden con los indices que estas utilizando en el array $_POST de PHP, veamos las lineas puntuales de tu código:

    En el primer select utilizas el name "seleccione_N°_planilla"
    <select name="seleccione_N°_planilla" required />


    Y en tu segundo select utilizas el name "contenedor"
    <select name="contenedor" required />


    Pero en PHP estas capturando con los nombres "id_datos_planilla_recoleccion" y "id_contenedor" respectivamente.
    $id_datos_planilla_recoleccion = $_POST['id_datos_planilla_recoleccion'];
    $id_contenedor = $_POST['id_contenedor'];
    


    Para resolver el problema deberás cambiar los atributos "name" por los que estas esperando en PHP, algo como:
    .
    .
    .
    <select name="id_datos_planilla_recoleccion" required />
    .
    .
    .
    <select name="id_contenedor" required />
    .
    .
    .
    


    Nota: al margen de esto, no te recomiendo el uso de caracteres especiales en los nombre, como ser el "°" en el primer select "seleccione_N°_planilla".

    Espero que mi respuesta te sea de ayuda, saludos!
      Votos: 3 - Link respuesta
     
  • Fecha: 01-02-2016 16:05:34 hola fernando, pues gracias por tu orientacion! e cambiado las lineas que mencionaste y el problema todavia sigue las variables cuando las recibo llegan sin ningun valor e mandado unos "echo" con las variables recibidas y se imprimen solamente las de los inputs pero las de los select llegan vacias, e igual esos datos no se insertan en la tabla, seguire buscando la solucion para resilver este problema, gracias y saludos   Votos: 2 - Link respuesta
     
  • Fecha: 01-02-2016 16:39:22 Hola Juan, volví a repasar tu código y encontre otro error, te falta el "echo" del "value" que se debe imprimir en cada "option", veamos en código:

    Línea original:
    <option value="<?php $row['id_datos_planilla_recoleccion']?>"><?php echo $row['numero_planilla']?></option>

    Línea con el echo agregado:
    <option value="<?php echo $row['id_datos_planilla_recoleccion']?>"><?php echo $row['numero_planilla']?></option>


    Lo mismo para el otro select.

    Línea original:
    <option value="<?php $row['id_contenedor']?>"><?php echo $row['numero_contenedor']?></option>

    Línea con el echo agregado:
    <option value="<?php echo $row['id_contenedor']?>"><?php echo $row['numero_contenedor']?></option>


    Saludos!
      Votos: 3 - Link respuesta
     
  • Fecha: 02-02-2016 13:41:39 buenas tardes fernando, pude continuar con el proyecto pues el archivo que recibe las varaibles los dos id llegaban en cero y si efectivamente
    <select name="id_datos_planilla_recoleccion" required />
    no le habia dado un nombre a select y no habia mandado el echo, tambien cambie las relaciones de las tablas y todo calidad gracias por tu apoyo, y ya seguire con mi proyecto, ire por las sesiones de usuarios cualquier duda consulto por esta via, muy agradecido de ustedes
      Votos: 2 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com