Mostrar datos de mysql con un select

Necesito mostrar en un combobox los datos de una tabla en mysql, tengo este código pero no funciona la parte de <option> si alguien me pudiera orientar por favor

$conexion = mysqli_connect("host",
"user","pass")or die("error conexion");
mysqli_select_db($conexion,"db")or die("error bd");;
$sql = "select * from cursos";
$result=mysqli_query($conexion,$sql);
echo"<form align=center action=newgru.php method=post class=registro>";
echo "<td><div>Curso:<select name='curso'>

while($row=mysqli_fetch_array(result))</select>";
{
echo "<option>" $row['fullname']>"</option>";

}
echo"</form>";
echo "<br>";

1 Respuesta

Respuesta
1

Me hace falta el nombre de todos los campos de la tabla para crearte el código.

Hola gracias por su ayuda, son todos estos campos, pero solo me interesa mostrar en el listado del combobox el fullname,y que a su vez muestre en un textbox el id del  fullname seleccionado.

id, category sortorder, fullname, shortname, idnumber, summary, summaryformat, format, showgrades, newsitems, stardate, marker, maxbytes, legacyfiles, showreports, visible, visibleold, grupomode, grupomodeforce, defaultgroupingid, lang, calendartype, theme, timecreated, timemodified, requested, enablecompletion, completionnotify, cacherev, modalidad, horas, objetivos, contenidos.

$conexion = mysqli_connect("host",
"user","pass")or die("error conexion");
mysqli_select_db($conexion,"db")or die("error bd");;
echo"<form align=center action=newgru.php method=post class=registro>";
echo "<td><div>Curso:

?>

<select name=curso >
<option value="0">----Elige un curso----</option>
<?php
 $sql= "SELECT * FROM cursos ORDER BY fullname asc";

$cur=mysqli_query($conexion,$sql);
while ($cur = mysqli_fetch_array($cur)) {
?>
<option value=
"<?php
print $cur['id']; ?>"><?php print $cur['fullname']; ?></option>
<?php } ?>
</select></td>

echo"</form>";
echo "<br>";

Pruebalo y me cuentas

Hola gracias por tu respuesta, funciona bien, madamas que solo me muestra el primer registro, 

$conexion = mysqli_connect("host",
"user","pass")or die("error conexion");
mysqli_select_db($conexion,"db")or die("error bd");;
echo"<form align=center action=newgru.php method=post class=registro>";
echo "<td><div>Curso:

?>

<select name=curso >
<option value="0">----Elige un curso----</option>
<?php
 $sql= "SELECT * FROM cursos ORDER BY fullname asc";

$cur=mysqli_query($conexion,$sql);
while ($lista = mysqli_fetch_array($cur)) {
?>
<option value=
"<?php
print $lista['id']; ?>"><?php print $lista['fullname']; ?></option>
<?php } ?>
</select></td>

echo"</form>";

Estaba bien, le he cambiado el nombre de la variable por probar

Tenme informado.

Funciona excelente, Muchas gracias, se podrá hacer que al seleccionar el curso aparezca  el id en un textobox?

El id es el valor que te da el formulario para que tu busque el curso en la tabla. Si quieres quieres que aparezca el número al lado del curso sería así:

print $lista['id']; ?>"><?php print $fila['id'] ." ".  $lista['fullname']; ?></option>

No muestra el numero, quisiera si se puede mostrarlo en un textbox, para después ese numero guardarlo en otra tabla

print $lista['id']; ?>"><?php print $lista['id'] ." ".  $lista['fullname']; ?></option>

Gracias si me muestra en id pero dentro del mismo select y quisiera que se mostrara fuera el select en un texbox, no se si se pueda eso, o no se si me explico, Gracias

Si cuando tu envíes el formurio y le diga $__POST["curso"] lo que te va a dar es el número  id para tu lo busques en la tabla que corresponda. ¿Me explico?

ej.

$sql = "select * from cursos WHERE id= $__POST["curso"]";

Disculpa no le entiendo soy un poco lenta  

Se lo muestro con una imagen, al elegir un curso, me aparezca el id en el textbox enserado en el circulo rojo. Gracias por su ayuda

Se lo que quieres. Pero para eso, hay que utilizar javascript y no estoy muy puesto en eso

Okey, de todas formas Gracias por su ayuda

De nada

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas