简体   繁体   English

从数据库值填充下拉列表

[英]Populate dropdown from database values

How do I populate this dropdown box with database values. 如何用数据库值填充此下拉框。 Though this question seems to be repetitive, i have tried many others online but they didn't work. 尽管这个问题似乎是重复性的,但我在网上尝试了许多其他方法,但是它们没有起作用。 Thanks. 谢谢。

<div class="control-group <?php echo !empty($companynameError)?'error':'';?>">
                    <label class="control-label">SELECT COMPANY:</label>
                    <div class="controls">
                        <select name="companyname" id="companyname" onChange="enabledropdown()" placeholder="Product Type" value="<?php echo !empty($companyname)?$companyname:'';?>">
                        <?php if (!empty($companynameError)): ?>
                            <span class="help-inline"><?php echo $companynameError;?></span>
                        <?php endif; ?>
                        <?php
                            $pdo = Database::connect();
                            $cdquery = "SELECT companyname FROM company WHERE username=" .mysql_real_escape_string($_SESSION['username']);
                            $cdresult=mysql_query($cdquery) or die ("Query to get data from company failed: ".mysql_error());
                            while ($cdrow=mysql_fetch_array($cdresult)) {
                                $cdTitle=$cdrow["companyname"];
                                    echo "<option>
                                        $cdTitle
                                    </option>";
                                }   
                            Database::disconnect();
                        ?>
                        </select>
                    </div>
                  </div>

try 尝试

<?php

$pdo = Database::connect();
$cdquery = "SELECT companyname FROM company WHERE username='" . mysql_real_escape_string($_SESSION['username']) . "'";
$cdresult = mysql_query($cdquery) or die("Query to get data from company failed: " . mysql_error());
while ($cdrow = mysql_fetch_array($cdresult)) {
    $cdTitle = $cdrow["companyname"];
    echo "<option>" .
    $cdTitle
    . "</option>";
}
Database::disconnect();
?>

according to your code. 根据您的代码。

<?php
    mysql_connect('localhost', 'root', '');
    mysql_select_db('crud_tutorial');
    $test = "testedok";
    $sqli = "SELECT companyname FROM company WHERE username= '" . mysql_real_escape_string($test) . "'";
    $sqlquery = mysql_query($sqli);

    echo "<select name='sub1'>";
        while($row=mysql_fetch_array($sqlquery))
        {
            echo "<option value ='" .$row['companyname']. "'>" .$row['companyname']. "</option>";
        }
    echo "</select>";
?>

For clarification purposes, the error was made on this row: 为了澄清起见,在此行上犯了错误:

$cdquery = "SELECT companyname FROM company WHERE username=" .mysql_real_escape_string($_SESSION['username']);

The OP's mistake was to not wrap the username in quotes. OP的错误是不将用户名用引号引起来。 The correct query should look like this: 正确的查询应如下所示:

$cdquery = "SELECT companyname FROM company WHERE username='".mysql_real_escape_string($_SESSION['username'])."'";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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