简体   繁体   中英

Make first option value null in select menu coming from MySQL database

I am dumping some results from the database directly into tag in the html, how I can make the first option value to be null, and after that the database results to be sorted? This way I will have this drop down menu an option to not choose anything from it.

this is my code here:

<?php 
    $select = new Users;
    $stmt = $select->selecttema();
    while( $row = $stmt->fetch()){ 
        echo '<option value="' . $row['id'] . '">' . $row['topic'] . '</option>';
    } 
?>

Just

echo '<option value="">Select a topic</option>'

before the while loop.

To make an empty option:

<select>
    <option value="">Select</option>
<?php 
    $select = new Users;
    $stmt = $select->selecttema();
    while( $row = $stmt->fetch()){ 
        echo '<option value="' . $row['id'] . '">' . $row['topic'] . '</option>';
    } 
?>
</option>

You're not clear about what this Users object is or how you're fetching data so I'll just assume you're using a mySQL database, in which case you can use ORDER BY :

SELECT * FROM `users` WHERE 1 ORDER BY id DESC

For instance the above statement will select all users in the users database and order them by their id in descending order.

To sort the <select> options in JS, take a look at Sort Select Options by Value Attribute Using jQuery and Javascript to sort contents of select element

actually Juan Pablo had answered the question. i just add something on his answer. if you add selected in your option it will be first option and you do not need to add data in value

echo '<option selected value="">Select a topic</option>';

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM