Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2010, 04:55
pasarlocanutas
 
Fecha de Ingreso: agosto-2010
Mensajes: 9
Antigüedad: 13 años, 9 meses
Puntos: 0
Select combinados con php

Estoy haciendo un formulario en el que se van rellenando opciones y se envía a una base de datos y por ahora y gracias a vuestra ayuda lo había conseguido. Ahora quería que provincia y localidad fuesen opciones de un menú desplegable que extrae los datos de otra tabla de la base de datos MySQL.

He mirado por todas partes y al final he copiado un código de Omar Yony Ramos Rojas
Gracias!

http://www.forosdelweb.com/f18/combobox-dinamicos-php-2-mas-combos-anidados-575482/

Mi problema es que tengo que enviar la opción elegida (provincia/isla/localidad en vez de pais/departamento/distrito) para que se almacene junto con los demás datos del formulario, y no lo consigo. Además cada vez que cambia la opción elegida se intenta enviar el formulario (claro, utiliza la función submit) y además se me mezclan unas opciones con otras, no se "limpian" los menús desplegables al cambiar de opciones y resulta un poco confuso.

Me podríais decir cómo hacer para enviar a bd la "localidad" elegida?
Y a que no se envíe el formulario al cambiar de opción? Será que tengo que usar javascript y no php?
Y a dejar el submenú "limpio" al cambiar alguno de los submenús?
Cualquier ayuda me será muy util.

Copio código... (en dos partes)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Ingreso en la Guía Práctica de la Salud</title><link rel="shortcut icon" href="favicong.ico" />

<meta name="description" content="La Guía Práctica de la Salud es la herramienta imprescindible para acceder a toda la información relativa a LA SALUD tanto pública como privada y en todo lo que se refiere a nuestro bienestar." />
<meta name="keywords" content="médicos, farmacéticos, clínicas, Canarias, Las Palmas, Salud, Guía Práctica" />

<link href="salud.css" rel="stylesheet" type="text/css" media="screen" />

</head>

<body bgcolor="#3366cc">
<div >

<img id="fondo" src="imagenes/LowbackDegr.jpg" alt="fondoazul"/>

<table width="800" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td height="120" colspan="3"><img src="imagenes/cabecera.png" width="800" height="200" alt="guia práctica de la salud"/></td>
</tr>

<tr>

<?php

$pParam = FALSE;

if(count($_GET) != 0){
$pParam = $_GET;
}elseif(count($_POST) != 0){
$pParam = $_POST;
}

if($pParam != FALSE){

$sEspecialidad = $pParam['especialidad'];
$sNombre = $pParam['nombre'];
$sCentro = $pParam['centro'];
$sPreferencia = $pParam['preferencia'];
$sProvincia = $pParam['provincia'];
$sDireccion = $pParam['direccion'];
$sLocalidad = $pParam['localidad'];
$sCodigoPostal = $pParam['codigopostal'];
$sTelefono = $pParam['telefono'];
$sCitaPrevia = $pParam['citaprevia'];
$sHorario = $pParam['horario'];
$sSeguroMedico = $pParam['citaprevia'];
$sObservamed = $pParam['observamed'];
$sContacto = $pParam['contacto'];
$sEmpresa = $pParam['empresa'];
$sCif = $pParam['cif'];
$sDireccadmin = $pParam['direccadmin'];
$sLocalidadmin = $pParam['localidadmin'];
$sCodigopostadmin = $pParam['codigopostadmin'];
$sTelefonadmin = $pParam['telefonadmin'];
$sFax = $pParam['fax'];
$sEmail = $pParam['email'];
$sMovil = $pParam['movil'];
$sComercial = $pParam['comercial'];
$sObservadmin = $pParam['observadmin'];
$sFormapago = $pParam['formapago'];
$sRecibonum = $pParam['recibonum'];
if(
($sEspecialidad == '0') or
($sNombre == '')
){

$sMensaje =
'<p class="aviso">Elige especialidad y no olvides rellenar los campos marcados con *</p>';
echo($sMensaje);

}else{

$sConsulta = "
INSERT INTO completa(
especialidad,
nombre,
centro,
preferencia,
provincia,
direccion,
localidad,
codigopostal,
telefono,
citaprevia,
horario,
seguromedico,
observamed,
contacto,
empresa,
cif,
direccadmin,
localidadmin,
codigopostadmin,
telefonadmin,
fax,
email,
movil,
comercial,
observadmin,
formapago,
recibonum
)VALUES(
'$sEspecialidad',
'$sNombre',
'$sCentro',
'$sPreferencia',
'$sProvincia',
'$sDireccion',
'$resultado',
'$sCodigoPostal',
'$sTelefono',
'$sCitaPrevia',
'$sHorario',
'$sSeguroMedico',
'$sObservamed',
'$sContacto',
'$sEmpresa',
'$sCif',
'$sDireccadmin',
'$sLocalidadmin',
'$sCodigopostadmin',
'$sTelefonadmin',
'$sFax',
'$sEmail',
'$sMovil',
'$sComercial',
'$sObservadmin',
'$sFormapago',
'$sRecibonum'
)
;";

$lasaluddb = new mysqli(
'localhost','Galeo_root','salud2011','GaleonClient e_guia'
);

if($lasaluddb == FALSE){
echo('<p class="aviso">Error en la conexión</p>');
exit();
}
$resultado = $lasaluddb->query(
$sConsulta
);

if($resultado == FALSE){
echo('<p class="aviso">Error en la consulta</p>');
echo($lasaluddb->error);
exit();
}

echo('<p class="aviso">Nueva ficha añadida</p>');

$lasaluddb->close();

}
}

?>

<td width="30" class="ladoi"></td>
<td width="740" bgcolor="#FFFFFF">

<!--aquí empieza el formulario -->
<div>
<table width="740" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="207" height="35" class="navegar">&nbsp;<input name="Busca" type="text" size="15"/> &nbsp;<input type="button" name="Buscar" id="Buscar" value="Buscar" /></td>
<td width="35" height="35"><a href="index.html" title="ir al inicio" class="home"><img src="imagenes/Home.jpg" alt="ir a inicio" width="35" height="35" class="home" /></a></td>
<td width="166" height="35" class="navegar"><a href="listadosecun.php" title="Busque un especialista en su zona">Búsqueda avanzada</a></td>
<td width="166" height="35" class="actual"><a href="" title="Área de acceso para nuestros comerciales">Acceso Comerciales</a></td>
<td width="166" height="35" class="navegar"><a href="" title="Introduzca sus datos para formar parte de nuestra Guía Práctica de la Salud">Alta Clientes</a></td>
</tr>
</table>
</div>
<div class="treb">
<p></p>
<form name="frm_completa" method="post" action="">
<fieldset style="padding:5px">