如何使用数据库值填充此下拉框。虽然这个问题似乎是重复的,但我在网上尝试了很多其他问题,但它们没有用。谢谢。
<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>
答案 0 :(得分: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();
?>
根据您的代码。
答案 1 :(得分: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>";
?>
答案 2 :(得分: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'])."'";