AnswerBun.com

mostrar datos pdo php select

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
introducir la descripción de la imagen aquí

Tabla users

esta es la tabla users

One Answer

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

Add your own answers!

Related Questions

Expresión regular para palabras en php

1  Asked on August 27, 2021 by carlos-valdes-web

   

mostrar solo los elementos true de un array

2  Asked on August 26, 2021 by fernando-cruz

   

como arreglar este stored procedure?

2  Asked on August 26, 2021 by luis

     

Ayuda con array tridimensional

1  Asked on August 26, 2021

   

Cards Bootstrap

1  Asked on August 26, 2021 by nat-najera

     

Inicialización: corchetes { }, asignación =, y otras formas

1  Asked on August 26, 2021 by federico-choy

 

Acceso a RowCommand aspx

1  Asked on August 26, 2021 by ledferoz10

       

¿Como recargar un div al enviar un formulario?

1  Asked on August 26, 2021 by jos-carlos-castillo

       

¿Donde inicializar una BD SQLite en Android?

2  Asked on August 26, 2021 by antonio-ruiz

     

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP