Foros del Web » Programando para Internet » PHP »

capturar dato seleccionado de select y este lo guarde en una base de datos?

Estas en el tema de capturar dato seleccionado de select y este lo guarde en una base de datos? en el foro de PHP en Foros del Web. buenas , necesito ayuda con este código php (pdo) orientado a objetos ya que necesito que la opción que se escoja la guarde en la ...
  #1 (permalink)  
Antiguo 16/12/2014, 13:37
 
Fecha de Ingreso: diciembre-2014
Mensajes: 1
Antigüedad: 7 años
Puntos: 0
capturar dato seleccionado de select y este lo guarde en una base de datos?

buenas , necesito ayuda con este código php (pdo) orientado a objetos ya que necesito que la opción que se escoja la guarde en la base de datos :
*el select ya esta cargado con datos el nombre de la tabla opciones
* al escoger la opción deseada esta la guarde en la base de datos pero en otra tabla llamada opción escogida .

codigo principal
Código PHP:
<?php
require 'conexion.php';
require 
'prueba.php';

$mensaje NULL;

$opcion $_Post['opcion'];
if (
$opcion == '') {
    
$mensaje " escoge una opcion";
}else if(
$opcion == $opcion){
    
$mensaje "dato guardado con exito";
    

else {
    
$model = new prueba;
    
$model->insertInto 'escogida';
    
$model->insertColumns 'tipo';
    
$model->insertValues "'$opcion'";
       
    
$model->crear();
    
$mensaje $model->mensaje;
        
}

$model1 = new prueba;
$model1->select '*';
$model1->from 'opciones';
$model1->read();
$filas1 $model1->rows;
$total count($filas1);
?>
Código HTML:
<html>
    <head>
        <meta charset="UTF-8">
        <title>prueba</title>
    </head>
    <body>
        <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <strong><?php echo $mensaje ?></strong>
            <h1>opciones</h1>
            <br>
            <table border="2px"> 

                <tr>
                    <td>escoja una opcion</td>
                </tr>

                <tr> 
                    <td>opciones</td>
                    <td>
                        <?php
                        echo '<select>';
                        foreach ($filas1 as $fila1) {
                            echo"<option>" . $fila1['opcion'] . "</option>";
                        }
                        echo '</select>';
                        ?>     
                    </td>
                </tr>

            </table>
            <input type="hidden" name="enviar">
            <input type="submit" value="agregar">
        </form>
    </body>
</html> 
aquí los archivos externos donde genero la consulta archivo con nombre prueba.php
Código PHP:
<?php


class prueba {

    public 
$insertInto;
    public 
$insertColumns;
    public 
$insertValues;
    public 
$mensaje;
    public 
$select;
    public 
$from;
    public 
$condition;
    public 
$rows;
    public 
$update;
    public 
$set;
    public 
$deleteFrom;
    public 
$delete;
    public 
$like;
    
            
    public function 
crear() {
        
$model = new Conexion;
        
$Conexion=$model->conectar();
        
$insertInto=$this->insertInto;
        
$insertColumns=$this->insertColumns;
        
$insertValues=$this->insertValues;
        
$sql="INSERT INTO $insertInto($insertColumns)VALUES($insertValues)";
        
$consulta=$Conexion->prepare($sql);
        if (!
$consulta) {
            
$this->mensaje "Error al crear el registro";
        } else {
            
$consulta->execute();
            
$this->mensaje "Registro creado corretamente ";
        }
    }
?>
gracias por la ayuda :)
  #2 (permalink)  
Antiguo 17/12/2014, 02:34
 
Fecha de Ingreso: septiembre-2014
Mensajes: 180
Antigüedad: 7 años, 2 meses
Puntos: 14
Respuesta: capturar dato seleccionado de select y este lo guarde en una base de dato

Cuando creas el select no le estás dando valor a las opciones, sólo las estás mostrando, por lo que no envías ningún dato. Prueba a ponerle valor usando la propiedad "value":

Código PHP:
Ver original
  1. <?php
  2. echo '<select>';
  3. foreach ($filas1 as $fila1) {
  4.     echo"<option value='$fila1['opcion']'>" . $fila1['opcion'] . "</option>";
  5. }
  6. echo '</select>';
  7. ?>
__________________
Unelink.es - VPS, servidores dedicados, hosting y dominios. 10 años a tu lado.

Etiquetas: dato, html, registro, seleccionado, 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 22:17.