Foros del Web » Programando para Internet » PHP »

como construyo una menu con una select que tira de una tabla secundaria.

Estas en el tema de como construyo una menu con una select que tira de una tabla secundaria. en el foro de PHP en Foros del Web. hola tengo un formulario que tiene 3 campos de texto, y un 4 campo que es un menu desplegable. hago el formulario para recoger los ...
  #1 (permalink)  
Antiguo 09/08/2006, 03:42
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 11 años, 4 meses
Puntos: 0
como construyo una menu con una select que tira de una tabla secundaria.

hola tengo un formulario que tiene 3 campos de texto, y un 4 campo que es un menu desplegable.
hago el formulario para recoger los datos y enviarlos al archivo insertar.php que es donde esta la sentencia para grabar los datos en la bbdd.

pero no se como hacer para que me reconozca los datos del menu desplegable (la tabla secundaria) y grabar todos los datos.

el formulario de coger los datos es:

<table>
<FORM METHOD="POST" ACTION="insertar.php">
<tr> <td>Dirección:</td><td><INPUT TYPE="TEXT" NAME="direccion"></td></tr>
<tr><td>codigo postal:</td><td><INPUT TYPE="TEXT" NAME="codigo_postal"></td></tr>
<tr><td>población:</td><td><input type="text" name="poblacion"></td></tr>
<tr>
<?
//Conexion con la base
mysql_connect("localhost","oskar","oskar");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("inmobiliarias");

echo '<td>provincia</td>';
echo '<td>';
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select provincia From provincias Order By id_provincia";
$result=mysql_query($sSQL);

echo '<select name="provincia" value="id_provincias">';

//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["provincia"];}
?>
</select></td></tr>
<tr><td colspan="2"><INPUT TYPE="SUBMIT" value="Insertar"></td></tr>
</FORM>
</table>


y el archivo insertar.php es :
<?
$direccion=$_POST['direccion'];
$codigo_postal=$_POST['codigo_postal'];
$poblacion=$_POST['poblacion'];
$provincia=$_POST['provincia'];
//Conexion con la base
mysql_connect("localhost","oskar","oskar");

//selección de la base de datos con la que vamos a trabajar
mysql_select_db("inmobiliarias");

//Creamos la sentencia SQL y la ejecutamos
$sSQL="INSERT INTO edificio (id_, direccion, codigo_postal, poblacion, provincia) VALUES ('', '$direccion', '$codigo_postal', '$poblacion', '$provincia)";
mysql_query($sSQL);
?>


me dice que no tengo definida la variable de provincia

gracias

oskar calvo

Última edición por oskar_calvo; 09/08/2006 a las 06:54 Razón: titulo no correcto
  #2 (permalink)  
Antiguo 09/08/2006, 04:24
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 13 años, 5 meses
Puntos: 8
claro, es que el select no lo estas construyendo bien, te teiene k kedar asi:

Código:
<select name="provincia">    
<option value="Malaga">Malaga</option>    
<option value="Sevilla">Sevilla</option>    
<option value="Cadiz">Cadiz</option>

</select>

y luego ya rescatas el valor POST como lo estas haciendo
  #3 (permalink)  
Antiguo 09/08/2006, 04:25
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 13 años, 5 meses
Puntos: 8
o si tienes asignado un identificador a cada provincia pues:

Código:
<select name="provincia">    
<option value="1">Malaga</option>    
<option value="2">Sevilla</option>    
<option value="3">Cadiz</option>

</select>
value va en los options, no en el select.
  #4 (permalink)  
Antiguo 09/08/2006, 04:31
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 11 años, 4 meses
Puntos: 0
Hola kurroman, el problema es que el select lo genero de una tabla, no lo meno a mano, y no consigo indicarle que me coga el valor de id_pronvincias en el value


a ver si lo he entendido bien:



//conexion a la bbdd.

echo '<td>provincia</td>';
echo '<td>';
//Creamos la sentencia SQL y la ejecutamos
$sSQL="Select id_provincia,provincia From provincias Order By id_provincia";
$result=mysql_query($sSQL);
echo '<select name=provincia>'
//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo '<option value=id_provincia>'.$row["provincia"];}

  #5 (permalink)  
Antiguo 09/08/2006, 12:09
 
Fecha de Ingreso: julio-2005
Ubicación: Guatemala
Mensajes: 165
Antigüedad: 12 años, 4 meses
Puntos: 0
En la Ultima Linea de tu codigo:

Código PHP:
     //Generamos el menu desplegable
          
while ($row=mysql_fetch_array($result))
         {
             echo 
'<option value=id_provincia>'.$row["provincia"];
         } 
Justo donde esta el "echo", por que mejor no intentas de esta forma:

Código PHP:
         //Generamos el menu desplegable
          
while ($row=mysql_fetch_array($result))
         {
             echo 
'<option value={$row[id_provincia]}>'.$row[provincia].'</option>';
         } 
Los corchetes o llaves "{}" hacen que la variable que este dentro de ellos, despliegue el valor que contiene.

Tambien podrias ponerlo asi:

Código PHP:
         //Generamos el menu desplegable
          
while ($row=mysql_fetch_array($result))
         {
             echo 
'<option value='.$row[id_provincia].'>'.$row[provincia].'</option>';
         } 
__________________
Guatemala - Guatemala
  #6 (permalink)  
Antiguo 10/08/2006, 03:28
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 13 años, 5 meses
Puntos: 8
No te decia k lo hicieras a mano (estatico), si no k kambies tu php para que el resultado sea lo k te he puesto.
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 00:52.