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:
<?php
$sql = "select id_proveedor as clave, nombre from proveedor";
$result = mysqli_query($db, $sql);
$totalRows = mysqli_num_rows($result);
$row_result = mysqli_fetch_assoc($result);
?>
<div class="form-group">
<div class="col-lg-5">
Proveedor: <select name="role" class="form-control">
<?php
$cont = 1;
do{
?>
<option value="<?php echo $row_result['clave']?>">
<?php
echo $row_result['nombre'];
?>
</option>
<?php
$cont++;
} while ($cont < $totalRows);
?>
</select>
</div>
</div>
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
Por si a alguien le sirve:
<?php
$sql = "select id_proveedor as clave, nombre from proveedor";
$result = mysqli_query($db, $sql);
?>
<div class="form-group">
<div class="col-lg-5">
Proveedor: <select name="proveedor" class="form-control">
<?php
while($results = mysqli_fetch_array($result)){
echo "<option value = '".$results["clave"]."'>
".$results["nombre"]."
</option>";
}
?>
</select>
<?php echo showError($errors, "proveedor"); ?>
</div>
</div>