Llenar input text con datos del usuario desde mysql

publicado por: Anonymous

Buenas tardes !!
Estoy creando un formulario de registro de visitas para comerciales.
Necesito extraer en un “input type=”text” como valor por defecto:
El código del agente comercial, (no es el mismo que el id del cliente)

Este es el formulario:

            <div class="row">
              <div class="col-25">
                <label for="agente">Agente</label>
              </div>
              <div class="col-75">
                <input type="text" name="agente" value="<?php echo ucfirst($_SESSION['cod_agente']); ?>">
              </div>
            </div>

            <div class="row">
              <div class="col-25">
                <label for="fechavisita">Fecha</label>
              </div>
              <div class="col-75">
                <input type="date" name="fechavisita" step="1" min="2017-01-01" max="2017-12-31" value="2017-01-01">
              </div>
            </div>

            <div class="row">
              <div class="col-25">
                <label for="hora">Hora</label>
              </div>
              <div class="col-75">
                <input type="text" id="hora" name="hora" placeholder="Hora de la visita">
              </div>
            </div>

            <div class="row">
              <div class="col-25">
                <label for="optica">Optica</label>
              </div>
              <div class="col-75">
                <input type="text" id="optica" name="optica" placeholder="Nombre de la óptica">
              </div>
            </div>

            <div class="row">
              <div class="col-25">
                <label for="provincia">Provincia</label>
              </div>
              <div class="col-75">
                <input type="text" id="provincia" name="provincia" placeholder="Provincia">
              </div>
            </div>

            <div class="row">
              <div class="col-25">
                <label for="direccion">Direccion</label>
              </div>
              <div class="col-75">
                <input type="text" id="direccion" name="direccion" placeholder="Ubicación de la óptica">
              </div>
            </div>

            <div class="row">
              <div class="col-25">
                <label for="notas">Notas</label>
              </div>
              <div class="col-75">
                <textarea id="notas" name="notas" placeholder="Agregar una nota" style="height:100px"></textarea>
              </div>
            </div>
            <div align="center" class="row">
              <input type="submit" value="Registrar Visita">
            </div>
          </form>
        </div>
        <!-- Fin Formulario -->

Intento evitar hacer una consulta a la base de datos, y dejar en ese campo predeterminado el código del agente.

No consigo sacarlo de ninguna forma.

Alguien sería tan amable de poder ayudarme.

Muchisimas gracias de ante mano!

solución

Explico, si he entendido tu duda:

  • Quieres cargar el valor de un input de tipo texto el COD_AGENTE por medio de una variable de Session, sin la necesidad de cargarla desde una consulta a la DB.

Si es así, tendrías que hacerlo de una forma parecida, pero igualmente tienes que cargar los datos en una consulta a la DB.

    if ($nueva_consulta = $mysqli->prepare("SELECT prna.id_persona,
                                                 prna.nombre_contacto,
                                                 prna.id_usuario_punto,
                                                 prna.usuario,
                                                 prna.password,
                                                 tusr.desc_tipo_usuario,
                                                 empr.id_empresa,
                                                 empr.nit,
                                                 empr.nombre_empresa
                                          FROM persona prna
                                          INNER JOIN tipodeusuario tusr  ON tusr.id_tipoDeUsuario = prna.id_tipoUsuario
                                          INNER JOIN empresa empr ON empr.id_empresa = prna.empresa_per
                                          WHERE prna.usuario = ?
                                          AND prna.password = ?
                                          AND tusr.desc_tipo_usuario = 'operario'"))
      {
        $nueva_consulta->bind_param('ss', $nit, $password);
      }
      else
      {
        exit();
      }
$nueva_consulta->execute();
    $resultado = $nueva_consulta->get_result();
    if($resultado->num_rows == 1)
    {
      $datos = $resultado->fetch_assoc();
      $_SESSION['usuario'] = $datos;
      echo json_encode(array('error' => false, 'tipo' => $datos['desc_tipo_usuario']));
    }
    else
    {
        echo json_encode(array('error' => true));
    }
    $nueva_consulta->close();
    $mysqli->close();

De esta forma, uso yo las variables de sesion que por lo general son las que más puedo usar, son cargadas al momento de iniciar sesión en la plataforma con su usuario y contraseña.

A lo que se almacenan los datos en en una variable, que en mi caso la llamé $datos:

$datos = $resultado->fetch_assoc();
      $_SESSION['usuario'] = $datos;
      echo json_encode(array('error' => false, 'tipo' => $datos['desc_tipo_usuario']));

A lo que $datos se hace igual al uso de la sesión, para después ser usada(Obviamente debes de iniciar la sesión en el mismo documento en el que la vayas a usar, a no ser que la incluyas en una clase para posteriormente ser usada en tus ficheros PHP):

<a>
    ¡Bienvenido, <?php echo $_SESSION['usuario']['nombre_empresa']?>!
</a>

En vez de usar ‘nombre_empresa’ podría cargar ‘id_usuario_punto’ o cualquiera de los que estén en mi consulta.

Espero haber ayudado, si tienes alguna duda pregunta!

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *