Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
crear un select através de una consulta sql
Enviado por oSCuI20 el día 22 de mayo de 2008
Buenas, necesito crear una consulta SQL dentro de un <select></select>
La verdad es que no se como hacerlo, he estado ojeando manuales y más o menos tengo una ligera idea de como hacerlo pero no se exactamente como hacerlo, yo tengo creado este código, pero no me muestra nada da error en el documento.
<form action="" method="post" name="consulta">
<?
var $nombre = "seleccion";
var $valor = 0;
if ($conn_access = odbc_connect ( "recauto", "", "")){
echo "Conectado Correctamente<br>";
$ssql = "SELECT [ID], [Marca], [Modelo], [Motor] FROM [FILTROS MANN]";
function menu_desplegable($ssql, $valor, $nombre){
echo "<select name='$nombre'>";
if ($rs_access = odbc_exec ($conn_access, $ssql)){
echo "La sentencia se ejecuto";
while ($fila = odbc_fetch_row($rs_access)){
if ($fila[0] == $valor){
echo "<option selected value=" . $fila[0] . ">" . $fila[1] . "</option>";
}else{
echo "<option value=" . $fila[0] . ">" . $fila[1] . "</option>";
}
}
}else{
echo "Error SQL";
}
echo "</select>";
}
}else{
echo "Error al conectar con Access";
}
?>
</form>
Re: Re: Re: crear un select através de una consulta sql
Enviado por erdiegui el día 28 de mayo de 2008
Prueba a hacer esto:
- Mueve la línea: echo "<select name='$nombre'>";
y ponla justo antes de empezar el bucle WHILE
- Mueve la línea: echo "</select>";
y ponla justo después de cerrar el bucle WHILE
Así, por lo menos saldrán los mensajes que pones para ver si se realiza bien la conexión o no.
Además, yo quitaría la creación de la función, ya que no he visto que la llames, así que posiblemente no se ejecute nada. Saca todo el código fuera de la función y prueba.
Re: Re: Re: Re: crear un select através de una consulta sql
Enviado por oSCuI20 el día 30 de mayo de 2008
Buenas de nuevo. He hecho todo lo que me has dicho, quedando el siguiente código.
<form action="" method="post" name="consulta">
<?
var $nombre = "seleccion";
var $valor = 0;
if ($conn_access = odbc_connect ( "recauto", "", "")){
echo "Conectado Correctamente<br>";
$ssql = "SELECT [ID], [Marca], [Modelo], [Motor] FROM [FILTROS MANN]";
if ($rs_access = odbc_exec ($conn_access, $ssql)){
echo "La sentencia se ejecuto";
echo "<select name='$nombre'>";
while ($row = odbc_fetch_row($rs_access)){
if ($row[0] == $valor){
echo "<option selected value='$row[0]'>". $row[1] . "</option>";
}else{
echo "<option value='$row[0]'>" . $row[1] . "</option>";
}
}
echo "</select>";
}else{
echo "Error SQL";
}
}else{
echo "Error al conectar con Access";
}
?>
</form>
Me sigue haciendo lo mismo, nada. Creo que pasará la BD a mysql, creo que así será más fácil y habrá más información en Internet, no me gusta ser pesado.