ComboBox: ¿Cómo postear datos traídos de mysql?

Tengo el siguiente código que llena un combobox con datos traídos de una tabla llamada 'rubros'. La misma tiene 2 columnas: idrubros (auto_increment) y rubros.

mysql_select_db("web", $conexión) or die("No se pudo seleccionar la base de datos. " . Mysql_error());
$query = "SELECT * FROM rubros ORDER BY rubro";
$rubros = mysql_query($query, $conexión) or die("No se pudo realizar la consulta. " . Mysql_error()); ?>
<select name="rubro" id="select">
<?php
while($row = mysql_fetch_array($rubros)) { ?>
<option value="<?php echo $row['rubro'] ?>"><?php echo $row['rubro'] ?></option>
<?php } ?>
</select>

El problema surge cuando le doy Submit al formulario, me graba todos los datos bien, excepto los del select. Por ejemplo, dónde el select me muestra 'INDUMENTARIA' en la tabla donde se graban los datos aparece: 'Resource id #4'. ¿Cómo hago para que grabe 'INDUMENTARIA'? A continuación pego el código que realiza el INSERT:

[...]

$rubro = $_POST['rubro'];
$insert = "INSERT INTO catalogo (código, descripción, urlfoto, rubro) VALUES ('$código', '$descripción', '$urlfoto', '$rubros') ON DUPLICATE KEY UPDATE descripción='$descripción', urlfoto='$urlfoto', rubro='$rubro'";
mysql_query($insert, $conexión) or die ("Error al ingresar los datos. " . Mysql_error());
Echo "Los datos han sido cargados. ";

1 Respuesta

Respuesta
1

Estas utilizando $rubros en vez de $rubro, $rubro es el valor mientras que $rubros es el query que usaste para cargar los datos.

cambia...

$insert = "INSERT INTO catalogo (código, descripción, urlfoto, rubro) VALUES ('$código', '$descripción', '$urlfoto', '$rubros') ON DUPLICATE KEY UPDATE descripción='$descripción', urlfoto='$urlfoto', rubro='$rubro'";

por...

$insert = "INSERT INTO catalogo (código, descripción, urlfoto, rubro) VALUES ('$código', '$descripción', '$urlfoto', '$rubro') ON DUPLICATE KEY UPDATE descripción='$descripción', urlfoto='$urlfoto', rubro='$rubro'";

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas