PHP - ingresar dato seleccionado de combobox a base de datos

 
Vista:

ingresar dato seleccionado de combobox a base de datos

Publicado por fiorella (7 intervenciones) el 03/10/2011 22:01:31
hola, yo cree el siguiente formulario en php, con dos campos de texto y dos combobox:


div id="formulario"><form action="" method="post" enctype="multipart/form-data">

<form action="validar_publicacion.php" method="post">
<p>Usuario:
<input type="text" name="username" size="20" maxlength="20" />
<br />
Password:
<input type="password" name="password" size="10" maxlength="10" />
<br />
<input type="submit" value="Ingresar" />
</p>
<select name="category" size="8" id="category">
<option id="0" value="0" selected="selected">[ Elige categorìa]</option>
<option value="escritos">Escritos</option>
<option value="television">Television, cine y medios</option>
<option value="fotografia">Fotografia</option>
<option value="publicidad">Publicidad y marketing</option>
<option value="radio">Radio, sonido y musica</option>
<option value="software">Software y tecnologia</option>
<option value="contabilidad">Contabilidad y administracion</option>
<option value="legal">Legal y juridico</option>
<option value="diseno">Diseño grafico</option>
<option value="arquitectura">Arquitectura</option>
<option value="otras">Otras categorias</option>
</select>
<select name="subcategory" size="8" id="subcategory">
<option id="0" value="0" selected="selected">[ Elige subcategorìa]</option>
<option value="US">United States of America</option>
<option value="AU">Australia</option>
<option value="CA">Canada</option>
<option value="XX">XXXXX</option>
</select>
</form>

Y por otro lado el archivo validad_publicacion.php, con el codigo que me debe mandar la info que ingrese a la base de datos:

<?php
session_start();

mysql_connect('localhost','root')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('sistema')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

if (isset($_POST["username"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$category = $_POST["category"];
$subcategory = $_POST["subcategory"];
// campos vacios
if($username==NULL||$password==NULL||$category==NULL||$subcategory==NULL) {
echo "un campo está vacio.";
mostrar();
}else{

$query = 'INSERT INTO publicacion (usuario, password, categoria, subcategoria)
VALUES (\''.$username.'\',\''.$password.'\',\''.$category.'\',\''.$subcategory.'\')';
mysql_query($query);
echo 'El usuario '.$username.' Te has registrado correctamente.<br />';
echo 'Ahora puede entrar ingresando tus datos de registro <br />';
echo '<a href="proyectos.php" style="color: #000000; font-family: Arial; font-size: 12px">Ir a la pagina de proyectos.php</a>';
?>
<?php
}

}else{
mostrar();
}
?>

El codigo parece que esta bien, pero falla, no me esta ingresado registroa a la bdd, y cuando pongo el submit me rebota en la misma pagina. Ayuda porfaaa es urgente.
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
sin imagen de perfil

ingresar dato seleccionado de combobox a base de datos

Publicado por Sebastian (25 intervenciones) el 04/10/2011 07:49:36
Hola Fiorella
me tome la libertad de modificar un poco tu scrip, pero ya solucione tu problema te dejo los codigos:

<html>
<head>
<title></title>
</head>
<body>
<h1><center>Publicacion</center></h1>
<br><br>

<form action="validar1.php" method="post">
<table align="center">
<tr>
<td>Usuario:</td>
<td><input type="text" name="username" size="20" maxlength="20"></td></tr>

<td>Password:</td>
<td><input type="password" name="password" size="10" maxlength="10"></td></tr>


<td><select name="category" size="8" id="category">
<option id="0" value="0" selected="selected">[ Elige categorìa]</option>
<option value="escritos">Escritos</option>
<option value="television">Television, cine y medios</option>
<option value="fotografia">Fotografia</option>
<option value="publicidad">Publicidad y marketing</option>
<option value="radio">Radio, sonido y musica</option>
<option value="software">Software y tecnologia</option>
<option value="contabilidad">Contabilidad y administracion</option>
<option value="legal">Legal y juridico</option>
<option value="diseno">Diseño grafico</option>
<option value="arquitectura">Arquitectura</option>
<option value="otras">Otras categorias</option>
</select></td>
<td><select name="subcategory" size="8" id="subcategory">
<option id="0" value="0" selected="selected">[ Elige subcategorìa]</option>
<option value="US">United States of America</option>
<option value="AU">Australia</option>
<option value="CA">Canada</option>
<option value="XX">XXXXX</option>
</select>
</td></tr>
<td></td><td><input type="submit" value="Ingresar">
<input type="reset" value="Borrar"></td></tr>

</table>
</body>
</form>
</html>


y aca estaria el archivo que valida los datos yo lo renombre como validar1.php:

<?php

$server = "localhost";
$user = "root";
$pass = ""; //depende de tu pass de mysql

$conexion = mysql_connect($server, $user, $pass);
$db = mysql_select_db("sistema", $conexion);

//capturar datos

$username = $_POST['username'];
$password = $_POST['password'];
$category = $_POST['category'];
$subcategory = $_POST['subcategory'];

if($username == null or $password == null or $category == null or $subcategory == null){
echo "Debe llenar todos los campos para poder continuar.";
}
else{
//insertar
$consulta = "insert into publicacion( usuario, password, categoria, subcategoria)
values ('$username', '$password', '$category', '$subcategory')";

$result = mysql_query($consulta, $conexion);
}
//validacion
if($result){
echo "Bienvenido a nuestro portal $username";
}
?>


Cualquier duda que tengas no dudes en preguntar Saludos.
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

ingresar dato seleccionado de combobox a base de datos

Publicado por fiorella (7 intervenciones) el 04/10/2011 17:30:03
Hola me sirvio muchisimo tu ayuda no sabes cuanto me salvaste la vida. Solo tenia una pregunta, tu sabes como hacer combos dependientes o anidados, es decir que al apretar una opcion de uno, recien se muestren las subopciones del otro? Por emeplo un combo pais y otro estado
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
sin imagen de perfil

ingresar dato seleccionado de combobox a base de datos

Publicado por Sebastian (25 intervenciones) el 04/10/2011 18:36:14
Q gusto q te aya servido mi pregunta es para ver si entendi tu idea quieres hacer un formulario, que por ejemplo al seleccionar EEUU, te muestre los estados de USA, o si eliges chile te muestre las ciudades de chile?
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

ingresar dato seleccionado de combobox a base de datos

Publicado por fiorella (7 intervenciones) el 04/10/2011 18:40:51
SIII EXACTOOO
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
sin imagen de perfil

ingresar dato seleccionado de combobox a base de datos

Publicado por Sebastian (25 intervenciones) el 04/10/2011 18:42:25
Ok dejame ver como lo puedo hacer XD
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

ingresar dato seleccionado de combobox a base de datos

Publicado por fiorella (7 intervenciones) el 04/10/2011 18:47:28
que lindo eres te amo!!!!!!!!!!
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
sin imagen de perfil

ingresar dato seleccionado de combobox a base de datos

Publicado por Sebastian (25 intervenciones) el 04/10/2011 19:18:25
jajaja grasias mira te dejo algo que pude hacer en este caso use hatml y javascript que fue la unica forma que se me ocurrio como hacerlos:
Espero que te sirva:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<html>
<head>
<title>Formulario</title>
</head>
<body>
<form name="f1">
<select name="pais" onchange="cambia_provincia()">
<option value="0" selected="">Seleccione...
</option><option value="1">España
</option><option value="2">Argentina
</option><option value="3">Colombia
</option><option value="4">Francia
</option></select>
 
<select name="provincia">
<option value="-">-</option><option value="Salta">Salta</option><option value="San Juan">San Juan</option><option value="San Luis">San Luis</option><option value="La Rioja">La Rioja</option><option value="La Pampa">La Pampa</option><option value="...">...</option></select>
</form>
 
<script>
//defino una serie de varibles Array para cada país
var provincias_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var provincias_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
var provincias_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var provincias_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")
 
//función que cambia las provincias del select de provincias en función del país que se haya escogido en el select de país.
function cambia_provincia(){
	//tomo el valor del select del pais elegido
	var pais
	pais = document.f1.pais[document.f1.pais.selectedIndex].value
	//miro a ver si el pais está definido
	if (pais != 0) {
		//si estaba definido, entonces coloco las opciones de la provincia correspondiente.
		//selecciono el array de provincia adecuado
		mis_provincias=eval("provincias_" + pais)
		//calculo el numero de provincias
		num_provincias = mis_provincias.length
		//marco el número de provincias en el select
		document.f1.provincia.length = num_provincias
		//para cada provincia del array, la introduzco en el select
		for(i=0;i<num_provincias;i++){
		   document.f1.provincia.options[i].value=mis_provincias[i]
		   document.f1.provincia.options[i].text=mis_provincias[i]
		}
	}else{
		//si no había provincia seleccionada, elimino las provincias del select
		document.f1.provincia.length = 1
		//coloco un guión en la única opción que he dejado
		document.f1.provincia.options[0].value = "-"
	    document.f1.provincia.options[0].text = "-"
	}
	//marco como seleccionada la opción primera de provincia
	document.f1.provincia.options[0].selected = true
}
</script>
 
 
</body></html>

Saludos
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

ingresar dato seleccionado de combobox a base de datos

Publicado por fiorella (7 intervenciones) el 04/10/2011 20:42:23
Te funciona porque a mi no, bueno yo le hice algunas adaptaciones

<html>
<head>
<script>
var subcategories_1=new Array("-","Andalucía","Asturias","Baleares","Canarias","Castilla y León","Castilla-La Mancha","...")
var subcategories_2=new Array("-","Salta","San Juan","San Luis","La Rioja","La Pampa","...")
var subcategories_3=new Array("-","Cali","Santamarta","Medellin","Cartagena","...")
var subcategories_4=new Array("-","Aisne","Creuse","Dordogne","Essonne","Gironde ","...")

function cambia_subcategory(){
var category
category = document.f1.category[document.f1.category.selectedIndex].value

if (category != 0) {

mis_subcategories=eval("subcategories_" + category)

num_subcategories = mis_psubcategories.length

document.f1.subcategory.length = num_subcategories

for(i=0;i<num_subcategories;i++){
document.f1.subcategory.options[i].value=mis_subcategories[i]
document.f1.subcategory.options[i].text=mis_subcategories[i]
}
}else{

document.f1.subcategory.length = 1
document.f1.subcategory.options[0].value = "-"
document.f1.subcategory.options[0].text = "-"
}
document.f1.subcategory.options[0].selected = true
}
</script>

</head>
<body>
<form action="validar_publicacion.php" method="post">
<table>
<tr>
<td><select name="category" id="category" onchange="cambia_subcategory()"> <option value="0" selected="">Seleccione... </option><option value="1">España </option><option value="2">Argentina </option><option value="3">Colombia </option><option value="4">Francia </option></select></td>

<td><select name="subcategory" id="subcategory"> <option value="-">-</option><option value="Salta">Salta</option><option value="San Juan">San Juan</option><option value="San Luis">San Luis</option><option value="La Rioja">La Rioja</option><option value="La Pampa">La Pampa</option><option value="...">...</option></select>
</td>
</tr>
</table>
</form>
</html>
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
sin imagen de perfil

ingresar dato seleccionado de combobox a base de datos

Publicado por Sebastian (25 intervenciones) el 04/10/2011 20:50:24
jeje el q te mande primero funcionaba sin ningun problema por lo que puedo ver en el que me mandaste tu no esta la lista desplegable prueba mi script en un archivo html limpio y funcionara.
el unico inconveniente es que si quieres aplicar este script en tu frmulario anterior tendras que volver a implementar la parte de seleccion de pais.
Saludos.
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