Foros del Web » Programando para Internet » PHP »

¿Como cargar en una tabla un id de un combo consultado a la bd?

Estas en el tema de ¿Como cargar en una tabla un id de un combo consultado a la bd? en el foro de PHP en Foros del Web. Saludos a todos los programadores de esta red social, mi duda es la siguiente.... tengo un combo que se carga a travez de la bd ...
  #1 (permalink)  
Antiguo 06/06/2011, 09:17
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
¿Como cargar en una tabla un id de un combo consultado a la bd?

Saludos a todos los programadores de esta red social, mi duda es la siguiente....

tengo un combo que se carga a travez de la bd el cual anexo el codigo

<select name="coordinacion">

<option value="" >[Seleccione la coordinación]</option>

<?php

while($fila=mysql_fetch_row($resultnombrecoordinac ion)){

echo "<option value='".$fila['0']."'>".$fila['1']."</option>";

}



?>
el cual lo lleno a traves de esta consulta

<?php
require("conexion.php");

$consultar_nombrecoordinacion="select id_coordinacion,nombre_coordinacion from coordinacion order by nombre_coordinacion asc";

$resultnombrecoordinacion=mysql_query($consultar_n ombrecoordinacion);
?>

ahora bien la duda a continuacion...

de acuerdo a este codigo

<?php

require ('conexion.php');



if (isset ($_POST['nombre']) && isset ($_POST['apellido']) && isset ($_POST['cedula']) && isset ($_POST['coordinacion']) && isset( $_POST['nombreusuario']) && isset($_POST['contrasena']) && isset ($_POST['contrasena2']))

{
$nombre=$_POST['nombre'];

$apellido=$_POST['apellido'];

$cedula=$_POST['cedula'];

$coordinacion=$_post['coordinacion'];
$nombreusuario=$_POST['nombreusuario'];

$sha1_contrasena=$_POST['contrasena'];



mysql_query("insert into trabajador values ('','".$nombre."','".$apellido."','".$cedula."','" .$coordinacion."','".$nombreusuario."','".$sha1_co ntrasena."')");



}

agrego a la tabla trabajador PERO quiero cargar en "$coordinacion" el valor id del combo que llene con la consulta para llenar el combo, agradeceria sus ayudas

las tabla esta hecha y todo lo demas de hecho cuando yo agrego me sale en id_coordinacion "0" y no el numero que cooresponde al nombre_coordinacion) agradeceria la ayuda
  #2 (permalink)  
Antiguo 06/06/2011, 09:31
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Si te fijas en el option , imprimes el resultado de tu base de datos (campo) , si no te aparece debe ser a que la consulta la tienes mal hecha y por ende no te trae el id_nombre_coordinacion

Código PHP:
Ver original
  1. <?php
  2. require("conexion.php");
  3.  
  4. $consultar_nombrecoordinacion="select id_nombre_coordinacion,nombre_coordinacion from coordinacion order by nombre_coordinacion asc";
  5.  
  6. $resultnombrecoordinacion=mysql_query($consultar_n ombrecoordinacion);
  7.  
  8.  
  9. //blablabla
  10. echo "<option value='".$fila['id_nombre_coordinacion']."'>".$fila['nombre_coordinacion']."</option>";
  11. ?>

Pd: En vez de utilizar numero es mejor utilizar el nombre del campo, como lo haras si tienes 30 campos y debes modificar tu query ..... es un lio no


Saludos
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 06/06/2011, 09:38
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
amigo gracias por responder ya intente, coloque los campos de la tabla y no lo hace

de hecho cambio los numeros por el nombre de los campos de la tabla y cuando estoy ingresando y quiero consultar el combo me sale vacio

lo que yo quiero hacer es que cuando seleccione el valor del combo automaticamente agarre el id para cuando vaya al insert para la otra tabla

Última edición por GatorV; 06/06/2011 a las 10:17
  #4 (permalink)  
Antiguo 06/06/2011, 09:53
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Para poder utilizar el array mediante los nombres de las tablas necesitas usar mysql_fetch_array o mysql_fetch_assoc en vez de mysql_fetch_row para que el array que te devuelva sea asociativo.
  #5 (permalink)  
Antiguo 06/06/2011, 10:13
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Exacto como dice alexg88 (no me habia fijado), con el fetch_row no recorres el array solo preguntas cuantas posiciones tiene ocupada este
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #6 (permalink)  
Antiguo 06/06/2011, 10:16
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

ok ya agregue el "mysql_fetch_array" junto con el codigo "<option value='".$fila['id_coordinacion']."'>".$fila['nombre_coordinacion']."</option>" y en efecto cuando quiero seleccionar la opcion me aparecen los valores, gracias PERO ese no es el problema lo que yo ahora quiero hacer es que cuando haga click en una de las opciones es tomar en cuenta el "id_coordinacion" para el valor del select para cuando vaya agregar a la tabla trabajadores me agregue ese "id_coordinacion"
  #7 (permalink)  
Antiguo 06/06/2011, 10:17
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Con mysql_fetch_row sí recorres el resultado, pero te lo devuelve como un array númerico, por lo tanto, no puedes utilizarlo como un array asociativo.

En realidad, el problema parece que lo tienes al enviar el parámetro, lo que te ha propuesto bUllan9ebrio es una mejora.
  #8 (permalink)  
Antiguo 06/06/2011, 10:19
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 9 meses
Puntos: 128
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Wtf???

Cita:
el "id_coordinacion" para el valor del select para cuando vaya agregar a la tabla trabajadores me agregue ese "id_coordinacion"
Cita:
yo agrego me sale en id_coordinacion "0" y no el numero que cooresponde al nombre_coordinacion) agradeceria la ayuda
Si tú no estás claro no creo que lo puedas solucionar fácilmente
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #9 (permalink)  
Antiguo 06/06/2011, 10:19
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

¿Has mirado que se envíen bien los parámetros? Utiliza el firebug (extensión de Firefox) para ver que parámetros se envían al servidor al enviar el formulario.
  #10 (permalink)  
Antiguo 06/06/2011, 10:20
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

exacto alex gracias muchachos ahora lo que yo quiero es tomar ese "id_coordinacion" y tenerlo en el value de ese select para cuando vaya agregar me agregue los datos incluyendo ese "id_coordinacion"
  #11 (permalink)  
Antiguo 06/06/2011, 10:22
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Yo creo que sí es correcto lo que propone, pero lo expresa un poco mal.
  #12 (permalink)  
Antiguo 06/06/2011, 10:24
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

con la mejora que me dieron muchachos al momento de agregar los datos a la tabla trabajadores almacena en id_coordinacion el valor cero (0) y no un valor 1 o 2 que es lo deseado
  #13 (permalink)  
Antiguo 06/06/2011, 10:27
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Revisa el HTML que te crea el primer php (donde creas los selects) para ver que value se le asigna a cada option y ver si son correctos. A partir de ahí, si está todo bien, miramos otras cosas.

A veces son tonterías pero que son complicadas de descubrir al no estar mirando directamente el código completo.
  #14 (permalink)  
Antiguo 06/06/2011, 12:38
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

el select que hace la consulta para llenar el combo esta en la pagina "nuevousuario.php" y el insert esta en la pagina "registrado.php" por que en el formulario abre la pagina "registrado.php" y el boton ke me da el registro hace submit
  #15 (permalink)  
Antiguo 06/06/2011, 12:39
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

me imagino que lo que me hizo entender alex es que tengo que poner el boton de tipo button que no me abra otra pagina y el action del formulario es que sea la misma pagina
  #16 (permalink)  
Antiguo 06/06/2011, 12:57
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

Yo no he dicho eso en ningún momento. Si pones el input de tipo button no se va a hacer el submit a no ser que utilizases javascript.

Yo me refería a que revisases el primer php para ver si se asignan bien los ids a los options.

Pon el código entero del formulario para verlo.
  #17 (permalink)  
Antiguo 06/06/2011, 13:10
 
Fecha de Ingreso: junio-2010
Mensajes: 70
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: ¿Como cargar en una tabla un id de un combo consultado a la bd?

jejeje tranquilo fue lo que supuse les paso el codigo

<html>

<head>
<?php
require("conexion.php");

$consultar_nombrecoordinacion="select id_coordinacion,nombre_coordinacion from coordinacion order by nombre_coordinacion asc";

$resultnombrecoordinacion=mysql_query($consultar_n ombrecoordinacion);
?>

<!--



-->



<script language="javascript" type="text/javascript">

function vacio(q) {

for ( i = 0; i < q.length; i++ ) {

if ( q.charAt(i) != " " ) {

return true

}

}

return false

}



function valida(F) {



if( vacio(F.nombreusuario.value) == false ) {

alert("Debe ingresar un nombre de usuario.")

return false

}

if( vacio(F.nombre.value) == false ) {

alert("Debe ingresar nombre.")

return false

}

if( vacio(F.apellido.value) == false ) {

alert("Debe ingresar apellido.")

return false

}

if( vacio(F.cedula.value) == false ) {

alert("Debe ingresar la cedula")

return false

}

if( vacio(F.coordinacion.value) == false ) {

alert("Seleccione la coordinacion.")

return false

}

if( vacio(F.contrasena.value) == false ) {

alert("Introduzca la contraseña.")

return false

}

if( vacio(F.contrasena2.value) == false ) {

alert("Valide la contraseña.")

return false

}

}





function ec() {

if (document.getElementById('contrasena').value == document.getElementById('contrasena2').value)

{

document.getElementById('contrasena').value = str_sha1(document.getElementById('contrasena').val ue);

document.getElementById('contrasena2').value= "";

return true;

}

else

{

alert ('Las Contraseñas no coinciden');

return false;

}

}

</script>

<title>Gesti&oacute;n de Datos de la GAEIS de CANTV - NUEVO USUARIO</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link rel="stylesheet" href="mm_restaurant1.css" type="text/css" />

<style type="text/css">

<!--

.Estilo1 {

font-size: 36px;

font-family: Verdana, Arial, Helvetica, sans-serif;

}

.Estilo5 {

font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 16px;

font-style: normal;

font-weight: bold;

color: #CC3333;

}

.Estilo8 {color: #993300}

.Estilo10 {color: #993300; font-weight: bold; }

.Estilo12 {color: #FFFFFF; font-size: 16px; }

-->

</style>

</head>

<body bgcolor="#FFFFFF">

<table width="164%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">

<tr bgcolor="#99ccff">

<td width="243" nowrap="nowrap" bgcolor="#FFFFFF"><img src="logo_cantv.jpg" width="243" height="112"></td>

<td height="86" colspan="3" nowrap="nowrap" bgcolor="#FFFFFF" class="Estilo5"><div align="center" class="Estilo8">GESTOR DE PROYECTOS DE LA GAEI DE CANTV </div></td>

<td width="10" bgcolor="#FFFFFF">&nbsp;</td>

</tr>



<tr bgcolor="#003399">

<td width="243" nowrap="nowrap" bgcolor="#FFFFFF">&nbsp;</td>

<td height="22" colspan="3" nowrap="nowrap" bgcolor="#003366" class="navText" id="navigation"><div align="center" class="Estilo1">

<p class="Estilo12">Creaci&oacute;n de nuevo usuario </p>

</div></td>

<td>&nbsp;</td>

</tr>



<tr bgcolor="#ffffff">

<td width="243" valign="top"><img src="mm_spacer.gif" alt="" width="15" height="1" border="0" /></td>

<td width="10" valign="top">&nbsp;</td>

<td width="959" valign="top"><table width="500" border="0" align="center" cellpadding="2" cellspacing="0">

<tr>

<td width="496" class="pageName"><div align="center" class="Estilo10"> INGRESE LOS NUEVOS DATOS DEL PERSONAL </div></td>

</tr>

</table>

<form name="form1" method="post" action="registrado.php" onSubmit="return valida(this);">



<table width="959" border="0">

<tr>

<td height="31" colspan="5"><p align="center" class="Estilo10">Ingrese los datos personales del nuevo personal para la GAeI </p> </td>

</tr>

<tr>

<td colspan="2">

<div align="right">Nombre de Usuario: </div></td>

<td width="470"><label>

<input type="text" name="nombreusuario" id="nombreusuario">

</label></td>

</tr>

<tr>

<td colspan="2">&nbsp;</td>

<td>

</td>

</tr>

<tr>

<td colspan="2"><div align="right">Nombre</div></td>

<td><label>

<input type="text" name="nombre">

</label></td>

</tr>

<tr>

<td height="32" colspan="2"><div align="right">Apellido</div></td>

<td><label>

<input type="text" name="apellido">

</label></td>

</tr>

<tr>

<td height="32" colspan="2"><div align="right">Cedula</div></td>

<td><label>

<input type="text" name="cedula">

</label></td>

</tr>

<tr>

<td height="32" colspan="2"><div align="right">Coordinaci&oacute;n</div></td>

<td><label>

<select name="coordinacion">

<option value="" >[Seleccione la coordinación]</option>

<?php

while($fila=mysql_fetch_assoc($resultnombrecoordin acion)){

echo "<option value='".$fila['id_coordinacion']."'>".$fila['nombre_coordinacion']."</option>";

}

?>

</select>

</label></td>

</tr>

<tr>

<td height="32" colspan="2"><div align="right">Contrase&ntilde;a:</div></td>

<td>

<input type="password" name="contrasena" id="contrasena"> </td>

</tr>

<tr>

<td width="474" height="34"><div align="right">Confirmar Contrase&ntilde;a: </div></td>

<td><div align="right"></div></td>

<td>

<input type="password" name="contrasena2" id="contrasena2"> </td>

</tr>

<tr>

<td height="45" align="right" valign="middle"><div align="right"><input type="submit" name="Submit" value="Ingresar Nuevo Usuario" onClick="return ec();">

</label>

</div></td>

<td width="1"><div align="right"></div></td>

<td><input type="reset" name="Submit2" value="Limpiar Formulario"></td>

</tr>

</table>

</form>

<br />

&nbsp;<br /> </td>

<td valign="top">&nbsp;</td>

<td>&nbsp;</td>

</tr>

<tr>

<td width="243" bgcolor="#FFFFFF">&nbsp;</td>

<td width="10" bgcolor="#FFFFFF">&nbsp;</td>

<td width="959" bgcolor="#FFFFFF">&nbsp;</td>

<td width="5" bgcolor="#FFFFFF">&nbsp;</td>

<td bgcolor="#FFFFFF">&nbsp;</td>

</tr>

</table>

</body>

</html>

Etiquetas: bd, combo, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:13.