Cargar datos de BD en option list

Respuesta de
a
Usuario
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.
Gracias
Experto
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;

?>
Usuario
He puesto el código que me has dicho pero me sale la lista vacía.
No muestra nada.
Experto
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.

Atentamente

Ernesto
Usuario
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.