sql >> Databasteknik >  >> RDS >> Mysql

mysql-databastillverkning rullgardinsmeny med data som redan skrivits in i html/php

Något sånt här?

<select name="pulldown1">
    <option value="default">Choose an option</option>
    <?php
    include("connect.php"); /*file where you have stored your DB conn. settings*/
    $result = mysql_query('SELECT id, lastname, firstname FROM spusername ORDER BY firstname ASC') or die (mysql_error()); 

    while ($row = mysql_fetch_array($result)) {
    echo '<option value="' . htmlentities($row['id'], ENT_QUOTES) . ' ' . htmlentities($row['lastname'], ENT_QUOTES) . ' ' . htmlentities($row['firstname'], ENT_QUOTES) . '">' . htmlentities($row['lastname'], ENT_QUOTES) . ', ' . htmlentities($row['firstname'], ENT_QUOTES) . '</option>';
    }
    ?>
</select>

<select name="pulldown2">
    <option value="default">Choose and option</option>
    <?php

    $result = mysql_query('SELECT traingtype FROM trainingtable ORDER BY trainingname ASC') or die (mysql_error()); 

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

Detta kommer att resultera i två rullgardinsmenyer där den första rullgardinsmenyn listar användarnas efter- och förnamn separerade med ett komma+mellanslag och den andra listar de olika typerna av träning. Det arkiverade ID:t skickas endast via variabeln, men visas inte för användaren.

När du hämtar värdena från variabeln i pulldown1, använd bara explode:

$userdetails = $_POST['pulldown1'];
$values = explode(" " $userdetails);
$ID = $values[0];
$lastname = $values[1];
$firstname = $values[2];

Har inte testat koden så den kan behöva justeras, och naturligtvis måste du ändra variabelnamnen som motsvarar dina faktiska db-radnamn.

Edit:I din kod måste du använda $row och inte $row2.

För det andra, istället för detta:

<option value='{$id}'>{$lastname},{$firstname}</option>

använd detta:

<option value="' . $row['id'] . '">' . $row['lastname'] . ', ' . $row['firstname'] . '</option>


  1. Utlösare för kolumnvärdeändring?

  2. Hur ställer man in kodningen för tabellernas char-kolumner i django?

  3. Lägg till Min SQL-datakälla i Visual Studio express 2013

  4. finns det ett sätt att lista alla reserverade ord i mysql med hjälp av mysql kommandoradsverktyg