2011-03-04 112 views
13

Estoy intentando llenar un cuadro desplegable a partir de los resultados de una consulta mySQL, en Php. He buscado ejemplos en línea y los he probado en mi página web, pero por alguna razón simplemente no completan mi cuadro desplegable. Intenté depurar el código, pero en los sitios web que miré no se explicó realmente, y no pude entender qué era cada línea de código. Cualquier ayuda sería grande :)Rellenar un cuadro desplegable de una tabla mySQL en PHP

Aquí está mi consulta: Select PcID from PC;

+0

¿sabes cómo codificar un cuadro desplegable a mano? ese sería un buen comienzo. Además, toda tu consulta no llegó a la página. –

+0

¿Estás diciendo que necesitas crear el html para un cuadro de selección y rellenar las opciones con datos devueltos de una consulta? – Kyle

+0

@ Cybermate - Soy nuevo en PHP @jcomeau_ictx: Sí, sé cómo codificar un menú desplegable a mano, @ Kyle: Necesito el código PHP, y de los otros comentarios, supongo que olvidé codificar el esqueleto de la Caja desplegable. – Donnie

Respuesta

23

Usted tendrá que asegurarse de que si usted está utilizando un entorno de prueba como WAMP establece su nombre de usuario como root. Aquí hay un ejemplo que se conecta a una base de datos MySQL, emite su consulta y emite etiquetas <option> para un cuadro <select> de cada fila en la tabla.

<?php 

mysql_connect('hostname', 'username', 'password'); 
mysql_select_db('database-name'); 

$sql = "SELECT PcID FROM PC"; 
$result = mysql_query($sql); 

echo "<select name='PcID'>"; 
while ($row = mysql_fetch_array($result)) { 
    echo "<option value='" . $row['PcID'] . "'>" . $row['PcID'] . "</option>"; 
} 
echo "</select>"; 

?> 
+0

De acuerdo, seguí su código y lo pasé al servidor, y ahora la página no se carga, ¿me olvido de algún código HTML? – Donnie

+0

¿Cuál es el error que está obteniendo? – wlashell

+0

creo echo ""; – sush

2

A continuación se muestra el código para desplegables usando MySql y PHP:

<? 
$sql="Select PcID from PC" 
$q=mysql_query($sql) 
echo "<select name=\"pcid\">"; 
echo "<option size =30 ></option>"; 
while($row = mysql_fetch_array($q)) 
{   
echo "<option value='".$row['PcID']."'>".$row['PcID']."</option>"; 
} 
echo "</select>"; 
?> 
1

Desde mysql_connect ya no se utiliza, conectar y consulta en lugar de mysqli:

$mysqli = new mysqli("hostname","username","password","database_name"); 
$sqlSelect="SELECT your_fieldname FROM your_table"; 
$result = $mysqli -> query ($sqlSelect); 

Y luego, si tiene más de una lista de opciones con los mismos valores en la misma página, coloque los valores en una matriz:

while ($row = mysqli_fetch_array($result)) { 
    $rows[] = $row; 
} 

Y entonces se puede bucle de la matriz varias veces en la misma página:

foreach ($rows as $row) { 
    print "<option value='" . $row['your_fieldname'] . "'>" . $row['your_fieldname'] . "</option>"; 
} 
0

No hay necesidad de hacer esto:

while ($row = mysqli_fetch_array($result)) { 
    $rows[] = $row; 
} 

Puede hacerlo directamente esto:

while ($row = mysqli_fetch_array($result)) { 
     echo "<option value='" . $row['value'] . "'>" . $row['value'] . "</option>"; 
    } 
1

Después de un tiempo de investigación y decepciones ... Pude arreglar esto

 <?php $conn = new mysqli('hostname', 'username', 'password','dbname') or die ('Cannot connect to db') $result = $conn->query("select * from table");?> 

//insert the below code in the body 


    <table id="myTable"> <tr class="header"> <th style="width:20%;">Name</th> 
    <th style="width:20%;">Email</th> 
     <th style="width:10%;">City/ Region</th> 
     <th style="width:30%;">Details</th> 
    </tr> 
    <?php 
    while ($row = mysqli_fetch_array($result)) { 

       echo "<tr>"; 
       echo "<td>".$row['username']."</td>"; 
       echo "<td>".$row['city']."</td>"; 
       echo "<td>".$row['details']."</td>"; 
       echo "</tr>"; 
      } 

    ?> 
</table> 

La confianza me funciona :)

0

En la parte superior primero configurar la conexión de base de datos de la siguiente manera:

<?php 
$mysqli = new mysqli("localhost", "username", "password", "database") or die($this->mysqli->error); 
$query= $mysqli->query("SELECT PcID from PC"); 
?> 

Luego incluyen el siguiente código en HTML dentro de forma

<select name="selected_pcid" id='selected_pcid'> 

      <?php 

      while ($rows = $query->fetch_array(MYSQLI_ASSOC)) { 
         $value= $rows['id']; 
       ?> 
       <option value="<?= $value?>"><?= $value?></option> 
       <?php } ?> 
      </select> 

Sin embargo, si está utilizando materializar css o cualquier otro css de la caja, asegúrese de que el campo seleccionado no esté oculto o d isabled.

Cuestiones relacionadas