Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema para dar una orden a formulario

Estas en el tema de problema para dar una orden a formulario en el foro de PHP en Foros del Web. Hola a todos.. alguien me puede dar una manito con un formulario porfavor..? Necesito enviar dos datos de una tabla a otra y en esta ...
  #1 (permalink)  
Antiguo 27/03/2016, 18:06
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
problema para dar una orden a formulario

Hola a todos.. alguien me puede dar una manito con un formulario porfavor..?
Necesito enviar dos datos de una tabla a otra y en esta última que se guarde en dos columnas diferentes.

Tabla categoría: IDCATEGORIA, NOMBRE_CATEGORIA
Tabla: galerías: CATEGORIA_ID, NOMBRE

Uso un formulario con una lista desplegable donde me muestra los nombres de las categorías, al momento de procesar y guardar la información en la tabla galerías, esta me guarda el id en la columna CATEGORIA_ID y en la columna NOMBRE también me guarda el id, siendo que ahí necesito el nombre, alguien sabe cómo puedo solucionar esto..?? he intentado de tantas formas que la cabeza me estallara.. este es el formulario.

Código PHP:
Ver original
  1. <form method="post" action="guardar_galeria.php">
  2.  
  3.        <label>Nombre Categoría</label>
  4.     <select name="nombre_categoria" >
  5.  
  6.        <?php
  7.        
  8.         while ( $columna = mysqli_fetch_array($filas) ) {
  9.            
  10.             ?> 
  11.        
  12.             <option  value=" <?php echo $columna['IDCATEGORIA'] ?> ">
  13.             <?php echo $columna['NOMBRE_CATEGORIA']; ?>
  14.            
  15.             </option>
  16.         <?php
  17.          }  
  18.         ?>
  19.  
  20. </select>
  21.            
  22.     <label>ID_categoria.</label>
  23.     <input type="text" name="id_categoria"/>

y esta es la pagina que guarda el resultado..

Código PHP:
Ver original
  1. <?php
  2.  
  3. include('_setup.php');
  4. $id_categoria = $_POST['nombre_categoria'];
  5. $nombre_categoria = $_POST['nombre_categoria'];
  6.  
  7.  
  8. $consulta=<<<SQL
  9. INSERT INTO
  10.        galerias
  11. SET
  12.  
  13.  
  14.    CATEGORIA_ID='$id_categoria',
  15.    NOMBRE='$nombre_categoria',
  16.    FECHA_ALTA = NOW()
  17.  
  18.  
  19. SQL;
  20.  
  21. mysqli_query($cnx, $consulta);
  22.  
  23. header("Location: index.php");
  24.  
  25. ?>

Cualquier info extra que necesiten favor avisar... Muchas gracias de antemano..
  #2 (permalink)  
Antiguo 27/03/2016, 20:00
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: problema para dar una orden a formulario

Al crear los option puedes hacer así
Código HTML:
Ver original
  1. <option  value=" <?php echo $columna['IDCATEGORIA'].'_*_'. $columna['NOMBRE_CATEGORIA'] ?> ">
  2.             <?php echo $columna['NOMBRE_CATEGORIA']; ?>
  3.  </option>

Y Lugo en el php lo recoges y separas así
Código PHP:
Ver original
  1. $categoria = $_POST['nombre_categoria'];
  2.  
  3. $cat = explode("_*_", $categoria);
  4. $id_categoria=$cat [0];
  5. $nombre_categoria=$cat [1];

Igualmente decir que es innecesario guardar el nombre de la categoría nuevamente ya que tienes una clave foránea con la que saber a que categoría pertenece y los datos de dicha categoría, así que todo esto es prescindible.
  #3 (permalink)  
Antiguo 27/03/2016, 20:25
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema para dar una orden a formulario

HOla xerifandtomas, gracias por responder... voy a probar de inmediato lo que me dices y bueno tambien en mi phpmyadmin recien voy a relacionar las tablas con clave foránea ya queno tenia idea de ello y lo vi recien por youtube... luego te comento. gracias nuevamente!!
  #4 (permalink)  
Antiguo 27/03/2016, 20:41
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema para dar una orden a formulario

xerifandtomas GRACIAS TOTALES.!! me funciona muy bien... el id queda donde quiero y el nombre tambien, solo que hay un detalle.. el campo del nombre, el resultado me aparece asi: 1_*_Retrato
2_*_Moda
3_*_Fantasia

se incluye el id con los guiones bajos y arterisco.. hay forma de que no salga asi? Gracias nuevamente!
  #5 (permalink)  
Antiguo 27/03/2016, 20:45
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema para dar una orden a formulario

NOOO esta listo.!! todo funciona de maravilla.. era un error capa 8 gracias miles!!
  #6 (permalink)  
Antiguo 27/03/2016, 20:46
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: problema para dar una orden a formulario

El campo del nombre donde? En el formulario en la bd?
  #7 (permalink)  
Antiguo 27/03/2016, 20:57
Avatar de marciano_79  
Fecha de Ingreso: agosto-2009
Mensajes: 88
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema para dar una orden a formulario

Ya en ninguna parte estimado, el codigo esta perfecto, era un error mio.!! Saludos

Etiquetas: fecha, formulario, mysql, orden, select, sql, tabla
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 03:59.