Cargar datos de BD en option list

Tengo un formulario en el que necesito cargar unos datos de mi BD en una lista desplegable para poder seleccionarlos, pero no consigo que me los muestre.
En mi código he puesto:
$busq=mysql_query("SELECT * FROM CP", $db);
$nf=mysql_num_rows($busq);
for ($i=0;$i<$nf;$i++)
{
$texte=$mysql_result($busq, $i, "NumCP");
?><option><?$texte;
}
?>
Pero me sale la lista vacía.

1 respuesta

Respuesta
2
Te mando un script cortito que te ayudará a resolver tu problema.
<?php
/* Me conecto a la base de datos */
$hand = mysql_connect("host", "user", "pass");
mysql_select_db("database", $hand);
/* Query para armar el tag option */
$qry = mysql_query("select * from paises", $hand);
while ($rec = mysql_fetch_array($qry))
{
/* Armo las opciones del cuadro de selección */
if ( $rec["codigo"] == 1 )
$opt = $opt."<option value=".$rec["codigo"]." selected>".$rec["nombre"]."</option>\n";
else
$opt = $opt."<option value=".$rec["codigo"].">".$rec["nombre"]."</option>\n";
}
echo <<< HTML
<form method="POST" action="" name="Selector de países">
<select size="1" name="paises" tabindex="1">
$opt
</select><br><br>
<input type="submit" value="Enviar" name="enviar" tabindex="2"><input type="reset" value="Borrar" name="borrar" tabindex="3"></p>
</form>
HTML;
?>
He puesto el código que me has dicho pero me sale la lista vacía.
No muestra nada.
1) ¿La base de datos tiene datos?
2) En la parte de conexión, donde dice host, user, pass y database debes colocar la información correspondiente a tu base de datos.
3) Te ejemplifico la query necesaria para que puedas crear, cargar la tabla y probar el ejemplo:
CREATE TABLE paises (
codigo int(2) NOT NULL auto_increment,
nombre varchar(30) NOT NULL default '',
PRIMARY KEY (codigo)
) TYPE=MyISAM;
INSERT INTO paises VALUES (1, 'Argentina');
INSERT INTO paises VALUES (2, 'Chile');
INSERT INTO paises VALUES (3, 'Uruguay');
INSERT INTO paises VALUES (4, 'Perú');
INSERT INTO paises VALUES (5, 'Bolivia');
INSERT INTO paises VALUES (6, 'Brasil');
INSERT INTO paises VALUES (7, 'Ecuador');
INSERT INTO paises VALUES (8, 'Colombia');
INSERT INTO paises VALUES (9, 'Venezuela');
Este query SQL la puedes ejecutar desde el phpMyAdmin.
Ya lo he conseguido. El problema era que en el select debía poner esto:
<select size="1" name="paises" tabindex="1">
<? echo "$opt";?>
</select>
Muchas gracias por la ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas