Stack Overflow en español Asked by eduardo manjarres on January 1, 2022
Estoy terminando un sistema web pero tengo un problema en el select
en vez de cargarme las tres opciones que son administrador , estudiante , docente , me carga mas de una sola vez.
Aquí está el código model
public function getObtenerDatosUsuario()
{
$rows=null;
$statement=$this->db->prepare("SELECT * FROM users");
$statement->execute();
while($result=$statement->fetch())
{
$rows[]=$result;
}
return $rows;
}
Visualización en html, código php select
<?php
$Usuarios = $ModeloUsuarios->getUsers();
if($Usuarios!=null){
foreach($Usuarios as $Usuario){
?>
<option value=""><?php echo $Usuario['perfil'];?></option>
<?php
}
}
?>
</select>
No me carga las 3 opciones, me carga las mismas opciones una y otra vez como se muestra en la imagen
Tabla users
Para tu caso lo que aplica es hacer:
SELECT DISTINCT perfil FROM user
y al momento de desplegar en el <option>
este mismo campo tendrías que colocarlo como value
y como descripción. Es decir, deberá ser:
<option value="<?php echo $Usuario['perfil'];?>"><?php echo $Usuario['perfil'];?></option>
Cuidado que en tu código que proporcionas
value
no lo estas asignando; por tanto cuando quieras usar el valor siempre obtendrás cadena vacía sin importar cual eligan.
Te comento, el detalle que tienes parece ocurre por que (conforme a imagen que muestras) el campo perfil
parece es ingresado no es de un catálogo; digamos si tuvieras tabla catálogo (sin entrar mucho a detalle):
Catálogo Perfiles
Perfiles (idPerfil [este seria un entero de autoincremento], Descripcion [ este seria texto])
y en tu tabla users en vez de campo perfil
la renombras y la relacion con su correspondiente (en esta sugerencia) idPerfil
; con consultar SELECT * FROM Perfiles
no tendrías tantas repeticiones. Así, usarias:
/* Obtener todos los perfiles */
$perfiles = $ModeloPerfiles->getPerfiles(); /* Esto seria crearlo con SQL antes mencionado */
<option value="<?php echo $perfiles['idPerfil'];?>"><?php echo $perfiles['Descripcion'];?></option>
Answered by RobertoLeOr on January 1, 2022
2 Asked on August 27, 2021 by juan-diego-valdivia-mendoza
1 Asked on August 26, 2021 by fabrixo96
2 Asked on August 26, 2021 by fernando-cruz
2 Asked on August 26, 2021 by luis
2 Asked on August 26, 2021 by fabian-cristancho
2 Asked on August 26, 2021 by hugo-fernandez
1 Asked on August 26, 2021 by andrus-diaz
1 Asked on August 26, 2021
3 Asked on August 26, 2021
1 Asked on August 26, 2021
1 Asked on August 26, 2021 by federico-choy
2 Asked on August 26, 2021 by alex-varela
1 Asked on August 26, 2021 by user166844
1 Asked on August 26, 2021 by jos-carlos-castillo
2 Asked on August 26, 2021 by antonio-ruiz
Get help from others!
Recent Answers
Recent Questions
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP