PHP - problema con html select tag

   
Vista:

problema con html select tag

Publicado por zendi (824 intervenciones) el 18/05/2013 03:03:33
tengo este codigo y la idea es crear un registro en una tabla en postgres desde otra tabla pero necesito es en realidad hacerlo con el campo ID de esta tabla no con la descripcion del campo.
claro la verdad es que estoy utilizando el NAME que es igual a cmbogasto pero en realidad la idea es que debe ser con el ID como ya dije antes.

Que debo hacer? porque cuando abro el select aparece es el nombre no el codigo,
si alguien me pudiera ayudar, gracias

<td><select name="cmbogasto"><option value="0">[Seleccione un gasto]</option>
<?php

$diarios = @pg_query($connect,$diarios);
while($select2 = @pg_fetch_array($diarios)){
// $cCodigo = $select2['codigo'];
$descrip = $select2['descripcion'];
echo "<OPTION VALUE='$descrip'>$descrip</OPTION>";
}
?>
</select></td></tr>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

problema con html select tag

Publicado por xve (5523 intervenciones) el 19/05/2013 09:38:44
Hola Zendi, no se te entiende mucho donde esta el id que necesitas, etc... pero creo que el problema podria estar aqui:
echo "<OPTION VALUE='$descrip'>$descrip</OPTION>";
En el value, en vez de poner $descrip tendrias que poner el id, no?

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con html select tag

Publicado por zendi (824 intervenciones) el 20/05/2013 02:27:44
Hola xve:
la tabla padre seria esta:
marcas
id_marca
nombre_marca
claro el codigo anterior lo modifiquè
la cual estaria dentro del while asi:

<td><select name="cmbmarca"><option value="0">[Seleccione un gasto]</option>
<?php
$diarios = @pg_query($connect,$diarios);
while($select2 = @pg_fetch_array($diarios)){
$id= $select2['id_marca'];
$descrip = $select2['nombre_marca'];
echo "<OPTION VALUE='$id'>$descrip</OPTION>";
}
?>
</select></td></tr>

por supuesto el id seria : id_marcas cuya tabla es la que actualizaria la otra tabla. ya lo hice como me lo indicas pero no lo actualiza.
cabria preguntar: ¿que debo pasar por $_post el name o el id_marca que esta en el WHILE?

gracias xve pero no me abandones en esta cruzada, por favor, mientras yo seguire buscando la solucion tambien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

problema con html select tag

Publicado por xve (5523 intervenciones) el 20/05/2013 07:42:19
Siempre tienes que pasar el id, ya que es unico y no hay problemas a la hora de pasarlo, como puede haber con acentos, eñes, etc...

Ahora faltaría ver la consulta sql a la que haces referencia.... nos la puedes mostrar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con html select tag

Publicado por zendi (27 intervenciones) el 20/05/2013 15:08:58
hola xve
Como ya lo expuse anteriormente este es el codigo del <select> con el While, por supuesto habiendo previamente obtenido la consulta esta:
$marcas = "SELECT * FROM equipos.marca ORDER BY nombre_marca";

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<tr>
			<td>Nombre Marca</td>
			<td><select name="cmbmarca" id="marca.id_marca"><option value="0">Seleccione una Marca..</option>
		<?php
		$marcas = @pg_query($connect,$marcas);
		while($select3 =@pg_fetch_array($marcas)){
		$idm = $select3['id_marca'];
		$name_marca = $select3['nombre_marca'];
		echo "<OPTION VALUE='$idm'>$name_marca</OPTION>";
		}
		?>
		</select>
		</td>
		</tr>

y este el es que crearia el insert:
1
2
3
4
5
6
7
8
<?php
$conn = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=1234");
$marca=$_POST['cmbmarca'];
 
$insert= "INSERT INTO equipos.datos_equipos (bina,serial,id_equipo,id_marca,id_modelo,unidad_codigo,observacion,diagnostico,fecha_reparacion,id_frecuencia,id_status) VALUES ($bina,'$serial',$cmbequipo,$marca,$modelo,$unidad,'$observacion','$diagnostico',$fechareparacion,'$frecuencia','$status')";
$agregar = @pg_query($conn,$insert);
echo("<script type='text/javascript'>window.location='index5.php'</script>");
header("location:index5.php");


y esta es la tabla donde debo guardar la marca con el id
1
2
3
4
5
CREATE TABLE datos_equipos
(
  id integer NOT NULL,
  id_marca integer NOT NULL,
)


gracias xve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

problema con html select tag

Publicado por xve (5523 intervenciones) el 20/05/2013 15:50:54
Hola, creo que hay algun error en la información que me das, ya que estas intentando añadir un montón de campos en una tabla que únicamente tienes dos campos...

La tabla datos_equipos solo tiene dos campos, pero en cambio en el isert, intentas guardar todos estos valores: bina,serial,id_equipo,id_marca,id_modelo,unidad_codigo,observacion,diagnostico,fecha_reparacion,id_frecuencia,id_status

Que error te da el mysql?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con html select tag

Publicado por zendi (27 intervenciones) el 20/05/2013 17:55:48
Disculpa xve cometi un error al enviar el ejemplo.
claro suponiendo que fuera solo para el campo marca, por supuesto suponiendo que ya esta todo dentro de la etiqueta <form>
el asunto seria asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$marcas = "SELECT * FROM public.marca ORDER BY nombre_marca";
		<tr>
			<td>Nombre Marca</td>
			<td><select name="cmbmarca" id="marca.id_marca"><option value="0">Seleccione una Marca..</option>
		<?php
		$marcas = @pg_query($connect,$marcas);
		while($select3 =@pg_fetch_array($marcas)){
		$idm = $select3['id_marca'];
		$name_marca = $select3['nombre_marca'];
		echo "<OPTION VALUE='$idm'>$name_marca</OPTION>";
		}
		?>
		</select>
		</td>
		</tr>
$marca=$_POST['cmbmarca'];
$insert= "INSERT INTO equipos.datos_equipos (id_marca) VALUES ($marca)";
$agregar = @pg_query($conn,$insert);
echo("<script type='text/javascript'>window.location='index5.php'</script>");
header("location:index5.php");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

problema con html select tag

Publicado por xve (5523 intervenciones) el 20/05/2013 21:23:13
Hola Zendi, creo que ahora te debería de funcionar perfectamente...

Entiendo que el código que nos muestras son trozos de tu código, verdad? no es tu código real...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema con html select tag

Publicado por zendi (27 intervenciones) el 20/05/2013 22:34:14
si ahora si lo hace bien
gracias por tu ayuda xve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar