entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Insertar campos de MySQL a formulario

Tengo un formulario alojado en Linux que tiene distintos campos (nombre, email y checkbox). Los datos que se recojan del formulario van a una base de datos SQL alojada en Windows. Ambos servidores están en la misma red, por lo que para hacer este paso de introducir los datos del formulario en la bd, utilicé este código:

  <?php

    $con = mysqli_connect("192.168.0.3", "vmb", "vmb2", "logytel") or die ("Problemas al conectar");

    $resultado = mysqli_query($con, "SELECT * FROM prueba");

    //recuperar las variables
    $nombre=$_POST['nombre'];
    $email=$_POST['email'];
    $instalacion=$_POST['instalacion'];
        $fallo_fisico=$_POST['fallo_fisico'];

    //Hacer secuencia sql
    $sql="INSERT INTO prueba (nombre, email, checks) VALUES ('{$nombre}', '{$email}', '{$instalacion}', '{$fallo_fisico}')";

    //ejecutamos la sentencia de sql
    $ejecutar=mysqli_query($con,$sql);

    //verificamos la ejecucion
    if(!$ejecutar){

        echo"Hubo Algun Error";

    }else{
        echo"Datos Guardados Correctamente<br><a href='index.html'>Volver</a>";
    }
?>

Entonces estuve buscando el cómo hacerlo al revés. Introducir un campo, por ejemplo, un select, para que aparezcan los datos registrados en la base de datos. He estado buscando, pero solo encuentro la parte php-sql y no al revés.

Pondré un ejemplo práctico para que se me entienda mejor: Tengo un formulario que utilizarán los trabajadores que salgan de la empresa a revisar los equipos. En el campo Para ahorrarle trabajo al empleado, se introducirá un campo en el que puedan escribir parte de su nombre y automáticamente, conectado a la bd correspondiente, le aparezca su nombre como sugerencia a introducir.

Este es mi html:

<html>
    <head>
        <title>Formulario</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
            <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <link rel="stylesheet" type="text/css" href="estilo.css">
    </head>
    <body>
        <div class="form">
    <form method="POST" id="formulario" name="formulario" role="form">
              <div class="row">
                <div class="col-md-12">
                  <div class="col-md-6">
                    <br><br>
                    <br><label for="nombre">Su nombre</label>
                    <input type="text" name="nombre" placeholder="Nombre" required class="form-control">
                  </div>
                  <div class="col-md-6">
                    <a title="Logytel" href="http://logytel.es"><img class="logytel" src="https://i2.wp.com/logytel.es/wp-content/uploads/2018/06/cropped-LOGO_Logytel_2012_R_485C_24x10_8_Blanco.png" alt="Logytel" /></a>
                  </div>
                </div>
              </div>
              <br><p>¿El equipo está correctamente instalado?</p>
          <div class="row">
                <div class="col-md-12">
        <div class="col-md-2">
            <br><label class="container">Sí
                        <input type="checkbox" name="instalacion" value="1"> <br>
                        <span class="checkmark"></span>
        </div>
        <div class="col-md-3">
            <br><label class="container">No
                        <input type="checkbox" name="instalacion" value="0"> <br>
                        <span class="checkmark"></span>
        </div>
        <div class="col-md-7">
                    <br><br>
                    <br><label for="email">Correo electrónico</label>
                    <input type="email" name="email" placeholder="[email protected]" required class="form-control">
               </div>
           </div>
        </div>

        <p>¿El equipo tiene algún fallo físico?</p>
        <div class="row">
                <div class="col-md-12">
        <div class="col-md-2">
            <br><label class="container">Sí
                        <input type="checkbox" name="fallo_fisico" value="1"> <br>
                        <span class="checkmark"></span>
        </div>
        <div class="col-md-3">
            <br><label class="container">No
                        <input type="checkbox" name="fallo_fisico" value="0"> <br>
                        <span class="checkmark"></span>
        </div>
           </div>
        </div>

                <button id="myBtn" class="button" input type="submit" value="Enviar" name="resultado">Enviar</button>

</form>
</div>
</body>
</html>

Version de PHP: 7 MySQL Server Windows Formulario alojado en Fedora 28 Base de datos alojada en Windows Server 2008r2

1 Respuesta

0voto

RudyOsorio Puntos180

Que tal? Si ya tienes creado el formulario con los campos necesarios, entonces, abajo del form o en algun lugar en especial de tu proyecto en ese mismo fichero o en otro, creas un buscador el cual debe de ser con ajax para que los resultados te aparezcan de forma instantanea.

Los datos de respuesta que ese buscador te de, seran el nombre del empleado, al mismo tiempo, puedes poner un boton a la par del nombre de ese resultado, que al darle clic te abra una ventana modal con el formulario de trabajo o de encuesta que tu deseas segun el ejemplo.

Haslo con ajax, asi no refrescas la pagina y el sistema trabajará de forma asincrona.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta