› Foros › PC › Software libre
<form action="pruebadospalabras.php" method="POST" enctype="multipart/form-data">
<label for="sistema">Seleccionar desarrolladora</label></br>
<?php
include 'conexion.php';
echo '<select name="status2[]">';
$desarrolladora=$_POST["status2"];
//CONSULTA
$sqldesarrolladora="Select * From datos_desarrollador order by nombre";
$resultdesa=mysqli_query($con, $sqldesarrolladora);
//Mostramos los registros en forma de menú desplegable
while ($row = mysqli_fetch_array($resultdesa))
{
$nombre= $row['nombre'];
echo "<option value=".$nombre.">".$row['nombre']."";
}
echo '</select>';?></br></br>
<input type="submit" value="enviar"/>
</form>
<?php
for ($i=0;$i<count($desarrolladora);$i++)
{
echo "<br> Desarrolladora " . $i . ": " . $desarrolladora[$i];
}
?>
while ($row = mysqli_fetch_array($resultdesa))
{
$nombre= $row['nombre'];
echo "<option value=".$nombre.">".$row['nombre']."";
}
echo "<option value='{$nombre}'>{$nombre}</option>";
Alecs7k escribió:Primero te recomendaría no meter todo ese trozaco de PHP dentro de la etiqueta <select>. Lo más limpio es hacer la petición a la DB antes y luego usas los datos donde los necesites.while ($row = mysqli_fetch_array($resultdesa))
{
$nombre= $row['nombre'];
echo "<option value=".$nombre.">".$row['nombre']."";
}
Ahí estás cometiendo dos errores. El primero es que al hacer value=".$nombre.">, estás cerrando las comillas del echo para concatenar una cadena, pero dicha cadena debe tener sus comillas, es decir, cuando tú lo escribes en HTML plano es así value="nombre" y lo tuyo imprimiría value=nombre. Además las cadenas que tienen comillas dobles aceptan variables, por lo que podría quedar así: echo "<option value='$nombre'>". Date cuenta que ahí he añadido unas comillas simples para el value. También lo podrías hacer con comillas dobles escapadas echo "<option value=\"$nombre\">". En estos casos se suele recomendar meter la variable entre llaves así evitas algunos problemas y te admite también sacar valores de arrays tipo echo "Nombre: {$row['nombre']}";
El segundo error que veo es que no estás cerrando la etiqueta option.echo "<option value='{$nombre}'>{$nombre}</option>";