Lo que quiero lograr es imprimir una serie de opciones guardadas en la base de datos mediante la inicialización de una función.
El código sería este:
Código php:
Ver original
function opciones() { // Utilizo global $sql_c; para que la función pueda conectarse a la base de datos // mediante una variable inicializada exteriormente global $sql_c; // La variable $options no podía usarla fuera de la función hasta que la incializé // mediante la palabra clave global global $options; if ($opcion=='') { // Retorno este array por si no existen entradas en la base de datos } else { } }
Fuera del código PHP sería así:
Código html:
Ver original
Ahora el problema es que el bucle es infinito y no sé porqué. El bucle imprime unicamente la primer fila de la tabla de la base de datos.
También use print_r(opciones()); por si el array contenía algún error y el resultado fue:
Array ( [0] => 2 [id] => 2 [1] => prueba 1 [nombre] => prueba 1 )
Es decir que el array está perfecto pero el bucle no reconoce nada más allá del primer objeto.
Desde ya muchas gracias.
- SOLUCIÓN -
Ahora que lo solucioné les dejo la solución.
Ahora creé una nueva función a la cual solo hay que pasarle el nombre de la tabla de la que quiero obtener las opciones:
Código PHP:
function lista($tabla) {
global $sql_c; // Hago esto porque mis datos de conexión los tengo fuera de la función
$reg = mysql_query("SELECT * FROM $tabla", $sql_c)
or die ("Problemas al obtener los resultados de la tabla ".$tabla." porque: " . mysql_error());
if ($reg == '') {
echo "<option value=\"0\">Todavía no hay registros</option>
";
}
else {
while ($a = mysql_fetch_array($reg)) :
echo "<option value=\"".$a['id']."\">".$a['nombre']."</option>
";
endwhile;
}
}
Código HTML:
<select name="opcion" id="opcion"> <?php lista(tabla1); ?> <!-- Aqui logro obtener todos los registros de la tabla1 --> </select>
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
![Aplauso](http://static.forosdelweb.com/fdwtheme/images/smilies/aplausos.gif)
Gracias a todos y más a mi porque lo solucioné yo :P
Saludos