Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: d91 en 27 Septiembre 2016, 05:14 am



Título: problema al iterar consulta para llenar select dinamico
Publicado por: d91 en 27 Septiembre 2016, 05:14 am
Hola, estoy intentado llenar un select por medio de una consulta, pero a pesar de que obtengo varias filas con la consulta solo me muestra una en el select, alguien podria orientarme que es lo que estoy haciendo mal:
Código
  1.     <?php
  2. $sql = "select id_proveedor as clave, nombre from proveedor";
  3. $result = mysqli_query($db, $sql);
  4. $totalRows = mysqli_num_rows($result);
  5. $row_result = mysqli_fetch_assoc($result);
  6.      ?>
  7.                         <div class="form-group">
  8.      <div class="col-lg-5">
  9. Proveedor: <select name="role" class="form-control">
  10. <?php
  11.  $cont = 1;
  12.  do{
  13. ?>
  14.        <option value="<?php echo $row_result['clave']?>">
  15.   <?php
  16.    echo $row_result['nombre'];
  17.    ?>
  18. </option>
  19. <?php
  20.  $cont++;
  21. } while ($cont < $totalRows);
  22. ?>
  23.  
  24. </select>
  25. </div>
  26. </div>
  27.  


Título: Re: problema al iterar consulta para llenar select dinamico
Publicado por: eLank0 en 27 Septiembre 2016, 14:09 pm
Yo lo que haría sería iterar la variable $row_result. A más, si sólo te da una fila, es que sólo tendrás una fila ya que $totalRows será 1.

Salu2


Título: Re: problema al iterar consulta para llenar select dinamico
Publicado por: d91 en 27 Septiembre 2016, 15:08 pm
Por si a alguien le sirve:
Código
  1. <?php
  2. $sql = "select id_proveedor as clave, nombre from proveedor";
  3. $result = mysqli_query($db, $sql);
  4.      ?>
  5. <div class="form-group">
  6. <div class="col-lg-5">
  7. Proveedor: <select name="proveedor" class="form-control">
  8. <?php
  9. while($results = mysqli_fetch_array($result)){
  10. echo "<option value = '".$results["clave"]."'>
  11. ".$results["nombre"]."
  12. </option>";
  13. }
  14. ?>
  15.  
  16. </select>
  17. <?php echo showError($errors, "proveedor"); ?>
  18. </div>
  19. </div>
  20.