Foros del Web » Programando para Internet » PHP »

Insertar registros en base de datos atravez de un Combobox

Estas en el tema de Insertar registros en base de datos atravez de un Combobox en el foro de PHP en Foros del Web. Que tal amigos... tengo 2 paginas, uno con un formulario simple, donde ingreso nombre en un input y ciudad que muestra las ciudades desde la ...
  #1 (permalink)  
Antiguo 16/08/2012, 15:12
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 8 años, 10 meses
Puntos: 3
Insertar registros en base de datos atravez de un Combobox

Que tal amigos...

tengo 2 paginas, uno con un formulario simple, donde ingreso nombre en un input y ciudad que muestra las ciudades desde la base de datos(2 ciudades...Calama, Concepcion).

Código PHP:
<form action="ingresarciudad.php" method="post">

NOMBRE:<input type="text" name="nombre"/>
CIUDAD:
<?php    
        $query
="SELECT id_ciudad,nombre_ciudad FROM ciudad";
        
$resultado=mysql_query($query);
?> 

        <select name="ciudad" id="ciudad" >
                  <option value="">Seleccione ciudad</option>
                               <?php
                              
while($row=mysql_fetch_array($resultado))
                              echo 
"<option  value='".$row["id_ciudad"]."'>"
                                
.$row["nombre_ciudad"]."</option>"?>
                
                <input type="submit" name="enviar" value="enviar"/>

</form>
y ingresarciudad.php que ingresa los datos a la BD


Código PHP:
<?php
include("conecct.php");

//echo print_r($_POST);

    
$nombre  $_POST['nombre'];
    
$ciudad  $_POST['ciudad'];
        
    
// Comprobamos si la cuenta de correo ya existe
    
                   //Ingresamos en la BD 
                
$query "INSERT INTO user(nombre,ciudad)
                          VALUES ('{$nombre}','{$ciudad}')"
;
                      
mysql_query($query) or die(mysql_error());

?>


ahora mi interrogante es la siguiente.... si el usuario no selecciona ninguna ciudad, quiero que me que me duplique el registro...

ejemplo:

nombre: rodrigo
ciudad: vacio


insertar rodrigo calama
insertar rodrigo concepcion

se entiende?
busco ideas.

gracias
  #2 (permalink)  
Antiguo 16/08/2012, 15:50
 
Fecha de Ingreso: enero-2012
Ubicación: Caracas
Mensajes: 75
Antigüedad: 7 años, 8 meses
Puntos: 21
Respuesta: Insertar registros en base de datos atravez de un Combobox

Código PHP:
Ver original
  1. $query = "
  2. INSERT INTO user(nombre,ciudad)
  3. SELECT DISTINCT '$nombre',nombre_ciudad
  4. FROM ciudad;
  5. ";
  #3 (permalink)  
Antiguo 16/08/2012, 15:51
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 10 años, 1 mes
Puntos: 44
Respuesta: Insertar registros en base de datos atravez de un Combobox

pues has un if... en caso de que ciudad =='' entonces... ps haces 2 querys.... y listo no le veo más problema
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #4 (permalink)  
Antiguo 16/08/2012, 15:53
 
Fecha de Ingreso: enero-2012
Ubicación: Caracas
Mensajes: 75
Antigüedad: 7 años, 8 meses
Puntos: 21
Respuesta: Insertar registros en base de datos atravez de un Combobox

si lo quieres poner un poco mas inteligente para que no tengas dos query's

Código PHP:
Ver original
  1. $condicion = empty($ciudad)?'':" WHERE nombre_ciudad='$ciudad' ";
  2. $query = "
  3. INSERT INTO user(nombre,ciudad)
  4. SELECT DISTINCT '$nombre',nombre_ciudad
  5. FROM ciudad
  6. $condicion;
  7. ";

con la condicion en vacio te trae todas las cuidades y en caso de que si seleccione una ciudad, entonces solo esa es insertada.

Última edición por beeman00; 16/08/2012 a las 15:55 Razón: Correccion....
  #5 (permalink)  
Antiguo 16/08/2012, 15:57
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 9 años, 3 meses
Puntos: 55
Respuesta: Insertar registros en base de datos atravez de un Combobox

por lo que medio entendi quieres que si el que esta en el formulario deja vacio la parte de ciudad el sistema te llene con el nombre que coloco las veces que existan ciudades. de ser asi haz algo como esto

ejemplo ya recibiendo los datos

Código PHP:
Ver original
  1. <?php
  2.  
  3. $ciudad = "";
  4.  
  5. if(!empty($ciudad)) {
  6.  
  7. //hacemos el codigo normal porque existe una ciudad
  8. $query = "INSERT INTO user(nombre,ciudad)
  9.                          VALUES ('{$nombre}','{$ciudad}')";
  10.                       mysql_query($query) or die(mysql_error());
  11.  
  12.  
  13. } else {
  14.  
  15. $query="SELECT id_ciudad,nombre_ciudad FROM ciudad";
  16.        while( $resultado=mysql_query($query)) {
  17.  
  18.  
  19. $ciudad = $resultado['nombre_ciudad'];
  20.  
  21. $query = "INSERT INTO user(nombre,ciudad)
  22.                          VALUES ('{$nombre}','{$ciudad}')";
  23.                       mysql_query($query) or die(mysql_error());
  24.  
  25.  
  26.  
  27.        }
  28.  
  29.  
  30. }
  31.  
  32. ?>


algo mas o menos asi, aun le falta pero es para que captes la idea
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #6 (permalink)  
Antiguo 16/08/2012, 16:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 8 años, 10 meses
Puntos: 3
Respuesta: Insertar registros en base de datos atravez de un Combobox

beeman00 gracias pror responder.....claro tienes toda la razon pueden ser mas de 2 ciudades...y seria una lata hacer x query......


yo lo hice de esta manera y me resulto

Código PHP:
$nombre  = $_POST['nombre'];
    $ciudad  = $_POST['ciudad'];

    if($_POST['ciudad'] == '' )    
    {
        
        $ciudad = "SELECT id_ciudad FROM ciudad";
        $resultado=mysql_query($ciudad);
        while ($registro = mysql_fetch_array($resultado))
        {
         //echo $registro['id_ciudad']; 
        $query = "INSERT INTO user(nombre,ciudad)
                  VALUES ('{$nombre}','{$registro['id_ciudad']}')";
                  mysql_query($query) or die(mysql_error());        

        ?><br><?php
                
}

    }    
                   
//Ingresamos en la BD 
                
$query "INSERT INTO user(nombre,ciudad)
                          VALUES ('{$nombre}','{$ciudad}')"
;
                          
mysql_query($query) or die(mysql_error());
  #7 (permalink)  
Antiguo 16/08/2012, 16:22
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 8 años, 10 meses
Puntos: 3
Respuesta: Insertar registros en base de datos atravez de un Combobox

beeman00 tu codigo me parece muy elegante =) probandoo........
  #8 (permalink)  
Antiguo 16/08/2012, 16:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 8 años, 10 meses
Puntos: 3
Respuesta: Insertar registros en base de datos atravez de un Combobox

beeman00 tu codigo va dentro de un ciclo?


no tengo que incluir la sentencia VALUES???''


Te Agradeceria tu respuesta
  #9 (permalink)  
Antiguo 17/08/2012, 09:21
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 10 años, 1 mes
Puntos: 44
Respuesta: Insertar registros en base de datos atravez de un Combobox

lee bien lo que puso @beeman00, ahí el ya no ocupa el ciclo...


saludos
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!

Etiquetas: combobox, formulario, mysql, registro, registros, sql, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:46.