Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cakephp Como traer datos de bd a input select

Estas en el tema de Como traer datos de bd a input select en el foro de PHP en Foros del Web. Hola amigos necesito nuevamente de sus conocimientos.. El tema esta asi, tengo dos formularios add.php y edit.php, con add ingreso los registros a la base ...
  #1 (permalink)  
Antiguo 17/10/2019, 08:43
 
Fecha de Ingreso: abril-2011
Ubicación: Colombia
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 4
Busqueda Como traer datos de bd a input select

Hola amigos necesito nuevamente de sus conocimientos..

El tema esta asi, tengo dos formularios add.php y edit.php, con add ingreso los registros a la base de datos y con edit los edito , redundante pero es mejor explicarlo.

Cuando ingreso los datos con add.php lo hago con un formulario y en dicho formulario hay un select que me trae las opciones del input directamente de la base de datos con lo que tenga alli guardado el codigo es el siguiente:

Código PHP:
<select id="inputState" name="cl_act" class="form-control" required>
        <option selected> ----- </option>
        <?php
          $query 
$mysqli -> query ("SELECT * FROM actividades");
          while (
$valores mysqli_fetch_array($query)) {
            echo 
'<option value="'.$valores[actividad].'">'.$valores[actividad].'</option>';
          }
        
?>
      </select>
Hasta ahi normal, porque me llama y lista todas las opciones en los inputs.

Mi problema es cuando quiero editar los datos porque me trae todos los demas datos pero no logro que en ese mismo select me llame la opcion que ya guarde con add.php.

en edit .php llamo los datos a editar asi:

Código PHP:
<div class="form-group col-md-6">
      <label for="nom_inv">Dirección del establecimiento</label>
      <input type="text" name="dir_est" id="dir_est" value="<?php echo $row ['dir_est']; ?>" class="form-control" required>
    </div>
    
    
  </div>
  
  <div class="form-row">
    <div class="form-group col-md-6">
      <label for="telefono">Telefono del Establecimiento</label>
      <input type="text" class="form-control" name="tel_est" value="<?php echo $row ['tel_est']; ?>" id="Telefono" >
    </div>
La verdad no se como debo llamar el dato que tengo guadardo en la base de datos de mi select y que a la vez me siga mostrando las demas opciones que aparecen en los inputs .. se entiende??

Cuando cargo edit.php, dejo el mismo codigo que tengo en add.php lo que implica que este campo aparezca la primera opcion que esta en el imput mas no la ultima que guarde.


Lo dejo asi para q se entienda mejor..

Quiero que en edit.php me llame los datos asi...
Código HTML:
<select> 
<input> Aqui traer el ultimo dato guardado y las demas opciones que esten en la bd</input>


</select> 
Espero q se entienda, quedo atento a su amables aportes gracias
  #2 (permalink)  
Antiguo 17/10/2019, 10:02
 
Fecha de Ingreso: abril-2011
Ubicación: Colombia
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 4
De acuerdo Respuesta: Como traer datos de bd a input select

Hola me auto respondo ya resolvi el tema era bien sencillo..

era tan facil como en el primer <option> llamo el dato que esta guardado en la bd y en el segundo <option> llamo la lista de item que este contenida en la bd..

El codigo es mas o menos asi, por si le sirve a alguien..

Código PHP:
<select id="inputState" name="cl_act" class="form-control" >
        <option selected><?php echo $row ['cl_act']; ?></option> // En este cargo el dato que este guardado en la bd
        <?php
          $query 
$mysqli -> query ("SELECT * FROM actividades");
          while (
$valores mysqli_fetch_array($query)) {
            echo 
'
            
            <option value="'
.$valores[actividad].'">'.$valores[actividad].'</option>' // en esta cargo la lista de los demas items que esten en la bd
          
}
        
?>
        
      </select>

Etiquetas: inputs, seleccion
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 14:07.