Foros del Web » Programando para Internet » PHP »

Enviar datos de un select php a mysql

Estas en el tema de Enviar datos de un select php a mysql en el foro de PHP en Foros del Web. Saludos gente! Tengo una pequeña consulta que haceros, os adjunto el código y os comento Código PHP: <html> <head> </head> <body> <?php      //Conexión al servidor, conexión a la bbdd, consulta, resultado.      ...
  #1 (permalink)  
Antiguo 09/04/2013, 04:57
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Enviar datos de un select php a mysql

Saludos gente!
Tengo una pequeña consulta que haceros, os adjunto el código y os comento
Código PHP:
<html>
<head>
</head>
<body>
<?php
    
//Conexión al servidor, conexión a la bbdd, consulta, resultado.
    
    
    
$conexion_servidor mysql_connect('localhost''root','toor') or die("Error, no se ha conectado B.D."); 
    
$conexion_bd=mysql_select_db('san lorenzo'$conexion_servidor);
    
$query_prov="SELECT cod_prov, provincia FROM provincias";
    
$consulta_query_prov=mysql_query($query_prov,$conexion_servidor);
    
?>
    
    
    
    <form action="provincias.php" method="post">
        <select name="provincia" size="15px">
   
   
         <?php
            
while($fila=mysql_fetch_assoc($consulta_query_prov))
            {
                 if(isset(
$_POST['provincia']) &&  $_POST['provincia'] == $fila['cod_prov']){
                           echo 
'<option value="'.$fila['cod_prov'].'" selected>'.$fila['provincia'].'</option>';
                 }else{
            
?>
       
        <option value="<?php echo $fila['cod_prov'?>"><?php echo $fila['provincia'];?></option>
       
   
    <?php
          
}
    }
    
?>
    
    <input type="submit" value="-->>">
    </select>
    <input type="hidden"  name="enviado" value="enviado">
 </form>
 <?php 
    $conexion_servidor
=mysql_connect('localhost''root','toor') or die("Error, no se ha conectado B.D."); 
    
$conexion_db=mysql_select_db('san lorenzo'$conexion_servidor);
?>



<form name="form_pobl">

    <?php 

         
if(isset($_POST['enviado']))
         {
             
$enviado=$_POST['enviado'];
             
$codigo_prov=$_POST['provincia'];
 
             
$query_pobl="SELECT poblacion, cod_postal FROM poblaciones WHERE cod_prov = $codigo_prov";
             
$consulta_query_pobl=mysql_query($query_pobl,$conexion_servidor);

 
?>
 
 <select size="20px">
 
 <?php 
     
while($fila2=mysql_fetch_assoc($consulta_query_pobl))
     {
?>     

<option><?php echo $fila2['poblacion']."----(".$fila2['cod_postal'].")"?></option>

<?php 
     
}
}
 
?>
 
 </select>

</form>

</body>
</html>
Se trata de dos select, el segundo condicionado por el primero. Es un ejemplo de Provincias y poblaciones.
He conseguido enviar el nombre de la provincia y no el código como se estaba enviando hasta ahora, pero ahora me surge el problema de que no sé enviar el valor obtenido a la base de datos del select 2.

Un saludo y espero sus respuestas.
  #2 (permalink)  
Antiguo 09/04/2013, 05:02
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Enviar datos de un select php a mysql

Cómo ya te dije par aenviar un form necesitas que algo genere el evento submit sobre él, ya sea mediante un botón de tipo submit o mediante un evento js, pero en ese segundo form no tienes nada de eso.
También podrías englobarlo todo en el mismo Form
  #3 (permalink)  
Antiguo 09/04/2013, 05:12
Avatar de the_sheriff_pino  
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años
Puntos: 0
Respuesta: Enviar datos de un select php a mysql

Cita:
Iniciado por zalito12 Ver Mensaje
Cómo ya te dije par aenviar un form necesitas que algo genere el evento submit sobre él, ya sea mediante un botón de tipo submit o mediante un evento js, pero en ese segundo form no tienes nada de eso.
También podrías englobarlo todo en el mismo Form
Si, cierto. Ese código luego se unirá a uno mayor y más completo.
Ya le he puesto botón. Como sería si metiese los dos select dentro del mismo form?
y haría falta también la consulta SQL aunque creo que en eso no tendría problema.

Gracias Zalito, siempre estás atento!
  #4 (permalink)  
Antiguo 09/04/2013, 05:38
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Enviar datos de un select php a mysql

Pues en el mismo form sería prácticamente igual, pero habría que reestructurar un poco el código para que.
Código PHP:
Ver original
  1. <?php
  2.     //Conexión al servidor, conexión a la bbdd, consulta, resultado.
  3.    
  4.    
  5.     $conexion_servidor = mysql_connect('localhost', 'root','toor') or die("Error, no se ha conectado B.D.");
  6.     $conexion_bd=mysql_select_db('san lorenzo', $conexion_servidor);
  7.     $query_prov="SELECT cod_prov, provincia FROM provincias";
  8.     $consulta_query_prov=mysql_query($query_prov,$conexion_servidor);
  9.     if(isset($_POST['povincia']) && $_POST['provincia'] != ''){
  10.          $cod_prov = mysql_real_escape_string($_POST['provincia']);
  11.  
  12.              $query_pobl="SELECT poblacion, cod_postal FROM poblaciones WHERE cod_prov = $codigo_prov";
  13.              $consulta_query_pobl=mysql_query($query_pobl,$conexion_servidor);
  14.  
  15.     }
  16.     if(isset($_POST['poblacion']) && $_POST['poblacion'] != '')
  17.         $cod_pob = mysql_real_escape_string($_POST['poblacion']);
  18. ?>
  19. <html>
  20. <head>
  21. </head>
  22. <body>          
  23.     <form action="provincias.php" method="post">
  24.         <select name="provincia" size="15px">  
  25.         <?php
  26.             while($fila=mysql_fetch_assoc($consulta_query_prov))
  27.             {
  28.                  if(isset($cod_prov) && $cod_prov == $fila['cod_prov'])
  29.             echo '<option value="'.$fila['cod_prov'].'" selected>'.$fila['provincia'].'</option>';
  30.                  else
  31.             echo '<option value="'.$fila['cod_prov'].'">'.$fila['provincia'].'</option>';
  32.             }
  33.         ?>
  34.         </select>
  35.         <input type="submit" value="-->>">
  36.     <?php
  37.          if(!isset($cod_prov)){
  38.         echo '<select size="20px" disabled>' ;
  39.          }else{
  40.     ?>
  41.         <select size="20px" name="poblacion">
  42.          <?php  
  43.              while($fila2=mysql_fetch_assoc($consulta_query_pobl))
  44.              {
  45.          ?>    
  46.  
  47.             <option><?php echo $fila2['poblacion']."----(".$fila2['cod_postal'].")"; ?></option>
  48.         <?php
  49.             }
  50.         }
  51.         ?>
  52.     </select>
  53.  </form>
  54. </body>
  55. </html>
Está así rapidillo pero la idea es esa.
Y te sigo insistiendo en que con ajax sería más fácil y le encontrarías mucha utilidad. Hay muchas guías de selects dependientes con ajax, de hecho fue la primera cosa que hice yo con Ajax y fue siguiendo un tuto.

Etiquetas: html, mysql, select, sql
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 09:26.