0

如何使用数据库值填充此下拉框。尽管这个问题似乎是重复的,但我在网上尝试了许多其他问题,但没有奏效。谢谢。

<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>
4

3 回答 3

1

尝试

<?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();
?>

根据你的代码。

于 2015-10-11T17:21:50.040 回答
0

为澄清起见,此行出现错误:

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

OP 的错误是没有将用户名括在引号中。正确的查询应如下所示:

$cdquery = "SELECT companyname FROM company WHERE username='".mysql_real_escape_string($_SESSION['username'])."'";
于 2015-10-12T09:30:35.990 回答
0
<?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>";
?>
于 2015-10-12T09:24:42.570 回答