当我选择下拉列表中的项目时,我试图在行中显示特定项目。
为了澄清,我们可以在下拉菜单中选择item1
,并且在选择item1
时,我希望页面上另一个字段中显示item1
的价格。
PS。我正在尝试制作一个连接到MYSQL数据库的清单和订购表单。
提前致谢。
这是我的PHP代码。
<?php
function dropdown( $alcohol, array $options, $selected=null )
{
/*** begin the select ***/
$dropdown = '<select name="'.$alcohol.'" id="'.$alcohol.'">'."\n";
$selected = $selected;
/*** loop over the options ***/
foreach( $options as $key=>$option )
{
/*** assign a selected value ***/
$select = $selected==$key ? ' selected' : null;
/*** add each option to the dropdown ***/
$dropdown .= '<option
`value="'.$key.'"'.$select.'>'.$option.'</option>'."\n";
}
/*** close the select ***/
$dropdown .= '</select>'."\n";
/*** and return the completed dropdown ***/
return $dropdown;
}
?>
<form>
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('');
$sql = "SELECT alcohol FROM alcohol ";
$result = mysql_query($sql);
echo "<select name='alcohol'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['alcohol'] . "'>" . $row['alcohol'] . "</option>";
}
echo "</select>";
?>
</form>
//这个以后的新东西//
<form id="data" class="form_alcohol" role="form" method="post" action="connect.php">
<INPUT TYPE = "Submit" Name = "Submit" VALUE = "Submit">
<select size="1" name="alcohol">
<option value="">--- Select Alcohol ---</option>
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('');
$sql = "SELECT alcohol FROM alcohol";
$result1 = mysql_query($sql);
while ($row = mysql_fetch_array($result1)) {
echo "<option value='" . $row['alcohol'] . "'>" . $row['alcohol'] . "</option>";
}
$dropdown1 = empty($_POST['alcohol'])? die ("ERROR: Select from dropdown") : mysql_escape_string($_POST['alcohol']);
echo "</select>";
?>
<?php
if(isset($_POST['Submit'])) {
mysql_connect('localhost', 'root', '');
mysql_select_db('');
$sql = "SElECT * FROM alcohol where '$dropdown1' = alcohol";
$result = mysql_query($sql) or die(mysql_error());
?>
<table>
<td> alcohol </td> <td> price </td> <td> amount in stock </td>
<?php
while ($row = mysql_fetch_array($result)) {
echo "<tr><td>".$row['alcohol']."</td><td>".$row['price']."</td><td>".$row['quantity_in_stock']."</td>";
}
}
?>
</table>
答案 0 :(得分:1)
首先,使用mysqli。 Mysql_ *已弃用,将在以后的版本中删除。
现在我们已经开始了,我会在原始下拉选择值中添加一个“标记”字符以获取值。选择一个通常不在您的数据库中的Unicode字符,并在值中回显它,使其如下所示:
<option value="$name@$price">$name</option>
然后在上面的代码中,将值拆分为@字符并选出其后的内容以获取次要值。从长远来看,这应该可以节省数据库操作。
祝你好运!