Вставьте поля MySQL в форму

У меня есть форма, размещенная в Linux, которая имеет разные поля (имя, адрес электронной почты и флажок). Данные, собранные из формы, поступают в базу данных SQL, размещенную в Windows. Оба сервера находятся в одной сети, поэтому для выполнения этого шага ввода данных формы в bd я использовал этот код:

<?php
    $con = mysqli_connect("192.168.0.3", "vmb", "vmb2", "logytel") or die ("Problemas al conectar");
    $resultado = mysqli_query($con, "SELECT * FROM prueba");

    $fila = $resultado->fetch_assoc()

    echo $fila['nombre'];
    echo $fila['instalacion'];
    echo $fila['email'];
    echo $fila['fallo_fisico'];

?>

<!DOCTYPE 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" action="guardar.php">
              <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="usuario@gmail.com" 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>
        <script>
            var x, i, j, selElmnt, a, b, c;
            /*look for any elements with the class "custom-select":*/
            x = document.getElementsByClassName("custom-select");
            for (i = 0; i < x.length; i++) {
            selElmnt = x[i].getElementsByTagName("select")[0];
            /*for each element, create a new DIV that will act as the selected item:*/
            a = document.createElement("DIV");
            a.setAttribute("class", "select-selected");
            a.innerHTML = selElmnt.options[selElmnt.selectedIndex].innerHTML;
            x[i].appendChild(a);
            /*for each element, create a new DIV that will contain the option list:*/
            b = document.createElement("DIV");
            b.setAttribute("class", "select-items select-hide");
            for (j = 1; j < selElmnt.length; j++) {
                /*for each option in the original select element,
                create a new DIV that will act as an option item:*/
                c = document.createElement("DIV");
                c.innerHTML = selElmnt.options[j].innerHTML;
                c.addEventListener("click", function(e) {
                    /*when an item is clicked, update the original select box,
                    and the selected item:*/
                    var y, i, k, s, h;
                    s = this.parentNode.parentNode.getElementsByTagName("select")[0];
                    h = this.parentNode.previousSibling;
                for (i = 0; i < s.length; i++) {
                    if (s.options[i].innerHTML == this.innerHTML) {
                        s.selectedIndex = i;
                            h.innerHTML = this.innerHTML;
                            y = this.parentNode.getElementsByClassName("same-as-selected");
                            for (k = 0; k < y.length; k++) {
                            y[k].removeAttribute("class");
                            }
                                this.setAttribute("class", "same-as-selected");
                                break;
                            }
                        }
                    h.click();
                    });
                b.appendChild(c);
            }
            x[i].appendChild(b);
            a.addEventListener("click", function(e) {
                /*when the select box is clicked, close any other select boxes,
                and open/close the current select box:*/
                e.stopPropagation();
                closeAllSelect(this);
                this.nextSibling.classList.toggle("select-hide");
                this.classList.toggle("select-arrow-active");
                });
            }
            function closeAllSelect(elmnt) {
            /*a function that will close all select boxes in the document,
            except the current select box:*/
            var x, y, i, arrNo = [];
            x = document.getElementsByClassName("select-items");
            y = document.getElementsByClassName("select-selected");
            for (i = 0; i < y.length; i++) {
                    if (elmnt == y[i]) {
                    arrNo.push(i)
                    } else {
                    y[i].classList.remove("select-arrow-active");
                    }
            }
            for (i = 0; i < x.length; i++) {
                if (arrNo.indexOf(i)) {
                x[i].classList.add("select-hide");
                }
            }
        }
        /*if the user clicks anywhere outside the select box,
        then close all select boxes:*/
        document.addEventListener("click", closeAllSelect);
        </script>
</body>
</html>

Затем я искал, как это сделать наоборот. Введите поле, например, select, чтобы отобразить данные, зарегистрированные в базе данных. Я искал, но я нахожу только часть php-sql, а не наоборот.

Я приведу практический пример для лучшего понимания: у меня есть бланк, который будет использоваться работниками, которые покидают компанию для проверки оборудования. В поле «Сохранить работу сотрудника» будет введено поле, в котором он может написать часть своего имени, и автоматически, подключившись к соответствующему bd, его имя появится в качестве предложения для ввода.

Версия PHP: 7 MySQL Server Windows Form, размещенная на Fedora 28 База данных, размещенная на Windows Server 2008r2

5
задан 26.11.2019, 09:51
1 ответ
Esto es un archivo "index.php", espero que te sirva:

<?php
echo"Hello World !<br><br>";
if(![110]POST):
   $servername = "localhost";
   $username   = "root";
   $password   = "xxxx";
   $dbname     = "bd_Trabajadores";
   // Create connection
   $conn = new mysqli($servername, $username, $password);
   // Check connection
   if($conn->connect_error)
      die("Connection failed: " . $conn->connect_error);
   // Create database
   $sql_Trab = "CREATE DATABASE IF NOT EXISTS $dbname;";
   if($conn->query($sql_Trab) === TRUE):
      // echo "Base de Data creada exitosamente";
   else:
       echo "Error creando Base de Data: " . $conn->error; exit;
   endif;
   // Conectamos con el controlador de MariaDB / MySQL //
   $conn = new mysqli($servername, $username, $password, $dbname);
   //
   $sql = "CREATE TABLE IF NOT EXISTS t_Trabajadores
            (n_ID        INT (11),
             c_Nom       CHAR(30),
             c_CD        CHAR(15),
           PRIMARY KEY (n_ID),
           UNIQUE  KEY idx_Nom (c_Nom));";
   // echo"<br>";
   if($conn->query($sql) === TRUE):
      // echo "Tabla Trabajadores creada exitosamente";
   else:
      echo "Error creando Tabla Trabajadores: " . $conn->error; exit;
   endif;
   // Buscamos los Registros en Tabla de Trabajadores //
   //
   $sql_Trab = "SELECT * FROM t_Trabajadores;";
   //
   if($sel_Trab = $conn -> query($sql_Trab)):
      // echo "Consulta a la Tabla de Trabajadores exitosa";
   else:
      //
      echo "Línea ".__LINE__."<br><br>Error:<br><br>" . $sql_Trab . "<br>" . $bd -> error; exit;
      //
   endif;
   //
   $sql = "INSERT IGNORE INTO  t_Trabajadores
                              (n_ID,  c_Nom,                    c_CD       ) VALUES
                              (1   , 'ARMANDO SANCHEZ TORRES' , 'BARCELONA'),
                              (2   , 'FERNANDO GALICIA ZAMORA', 'MADRID'   ),
                              (3   , 'OSWALDO ZEPEDA TOLEDO'  , 'CDMX'     ),
                              (4   , 'PEDRO ALARCON HIDALGO'  , 'MONTERREY')";
   //
   if($conn->query($sql) === TRUE):
      // echo "New record created successfully";
   else: 
      echo "Error: " . $sql . "<br>" . $conn->error; exit;
   endif;
   //
   // $conn->close();
   ?>
   <html>
         <body>
         <form action=index.php method=post name=index_php id=index_php>
               <br><br>
               <select name=sel_Trab id=sel_Trab onClick="document.getElementById('txt_c_CD').value=this.value;"><option>ELIJA UNA TRABAJADOR</option>
                       <?php
                       //
                       while($reg_Trab = $sel_Trab -> fetch_assoc()):
                             //
                             $n_ID  = $reg_Trab['n_ID' ];
                             $c_Nom = $reg_Trab['c_Nom'];
                             $c_CD  = $reg_Trab['c_CD' ];
                             //
                             echo "<option value='$n_ID - $c_Nom - $c_CD'> $c_Nom </option>";
                             //
                       endwhile; // $reg_Trab = $sel_Trab -> fetch_assoc()
                       // ?>
               </select>
               <input type=text id=txt_c_CD size=50px>
               <br><br>
               <button type=submit id=btn_Envio value=ENVIAR>ENVIAR</button>
         </body>
   </html>
   <?php
else: // ![110]POST
   if([110]POST) {
      foreach ([110]POST as $clave=>$valor) {
         echo "El valor de < $clave > es: < $valor ><br>";
      }
   } else {
      echo 'No hay [110]POST<br>';
   }
   echo "<br>";
   //
   $sel_Trab = [110]POST['sel_Trab'];
   //
   $pos_Fin = strpos ( $sel_Trab , ' - ' );
   $n_ID = substr( $sel_Trab, 0, $pos_Fin ); echo ".$n_ID. " . strlen( $n_ID ) . "<br>";
   //
   $pos_Ini = $pos_Fin + 3;
   $pos_Fin = strpos ( $sel_Trab , ' - ', $pos_Ini );
   $lon_Str = $pos_Fin - $pos_Ini;
   $c_Nom = substr( $sel_Trab, $pos_Ini, $lon_Str ); echo ".$c_Nom. " . strlen( $c_Nom ) . "<br>";
   //
   $pos_Ini = $pos_Fin + 3;
   $lon_Str = strlen( $sel_Trab ) - $pos_Ini;
   $c_CD  = substr( $sel_Trab, $pos_Ini, $lon_Str ); echo ".$c_CD. " . strlen( $c_CD ) . "<br>";
   //
endif; // ![110]POST
//
// Fin del Código
2
ответ дан 01.12.2019, 10:49