Formulario que se arma desde mysql

Respuesta de
a
Usuario
Hola necesito hacer un formulario <select name=cantidad1> pero que las opciones que me ponga las arme desde unos registros que los tengo en una base de mysql. ¿Y no se como hacer porque no se pueden poner variables en html?
Experto
Si quieres hacerlo con HTML puro, desde ya te digo que es imposible. Lo que debes hacer es implementar un script en PHP que haga lo siguiente:

1) Conectarse a la base de datos
2) Recuperar los registros de la tabla MySQL
3) Presentarlos en el formulario.

He aquí un script simple que te puede servir de ejemplo el cual te presenta un formulario con una lista de países:

----------
<?php

/* Me conecto a la base de datos */
$dbh = mysql_connect("tu-host", "tu-user", "tu-pass");
mysql_select_db("tu-base", $dbh);

/* Query para armar el tag option */
$qry = mysql_query("select * from paises", $dbh);
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;

?>
----------
(Los guiones no forman parte del código PHP)

Donde dice tu-host, tu-user, tu-pass y tu-base debes colocar la información correspondiente a tu base de datos.

También te ejemplifico las instrucciones SQL necesarias 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 secuencia SQL la puedes ejecutar desde el phpMyAdmin.
Experto
Cualquier duda o inconveniente no dudes en preguntarme nuevamente.
Otra aclaración: el script PHP debes guardarlo en un archivo con la extensión .php, por ejemplo: países.php
Experto
Si este script fue de tu utilidad, te ruego des por finalizada la pregunta.

Atentamente

Ernesto
Usuario
Si me sirvió gracias. Pero no creas que ahora no tengo otros problemas