我有这个代码。它是一个下拉列表和一个提交按钮。 我有一个查询" SELECT * DISTINCT column_name FROM table_name"结果有15个值
现在,我想获取查询的这些值并动态地在选项= .....字段中输入它们。还要" NAME" section必须与值相同。 例如:IF value1 =" abcd"
<option value="abcd" >abcd</option>
&#13;
<!DOCTYPE html>
<html>
<body>
<form method="post" target=".....php">
<select name="exa" >
<option value="value1" >NAME 1</option>
<option value="value2" >NAME 2</option>
<option value="value3" >NAME 3</option>
<option value="value4" >NAME 4</option>
<option value="value5" >NAME 5</option>
<option value="value6" >NAME 6</option>
<option value="value7" >NAME 7</option>
<option value="value8" >NAME 8</option>
<option value="value9" > NAME 9</option>
<option value="value10" >NAME 10</option>
<option value="value11" >NAME 11</option>
<option value="value12" >NAME 12</option>
<option value="value13" >NAME 13</option>
<option value="value14" >NAME 14</option>
<option value="value15" >NAME 15</option>
</select>
<form action=$value>
<input type="submit" value="GO!" />
</form>
</body>
</html>
&#13;
我做了这个,但没有工作
<!DOCTYPE html>
<html>
<body>
<form method="post" >
<select name="exa" >
<?php
include_once "LOGIN TO DB SCRIPT";
$query_ak='SELECT DISTINCT (column_name) FROM table_name';
$result = mysql_query ($query_ak) or die (mysql_error);
while ($row = mysql_fetch_assoc($result)) {
}
?>
<option value = $row['ak_ex']> "$row['ak_ex']"</option>
<input type="submit" value="GO!" name="go"/>
</select>
</form>
</body>
</html>
&#13;
答案 0 :(得分:1)
您应该将<option>...</option>
置于循环内。将提交按钮放在</select>
标记之外。您还有语法错误。 mysql_error
应为mysql_error()
。
<!DOCTYPE html>
<html>
<body>
<form method="post" >
<?php
include_once "LOGIN TO DB SCRIPT";
$query_ak='SELECT DISTINCT (column_name) FROM table_name';
$result = mysql_query ($query_ak) or die (mysql_error());
?>
<select name="exa" >
<?php
while ($row = mysql_fetch_assoc($result)) {
echo '<option value="'.$row['ak_ex'].'">'.$row['ak_ex'].'</option>';
}
?>
</select>
<input type="submit" value="GO!" name="go"/>
</form>
</body>
</html>
答案 1 :(得分:1)
你犯了很多错误,首先你把OPTION对象放在WHILE循环之外,然后把提交按钮放在SELECT对象里面,最后你把distinct写成函数,正确的语法如下。
我建议你使用mysqli来避免安全问题,因为mysql将被弃用。使用也包括而不是include_once,因为它需要PHP的额外工作来渲染文件(差别很小,但欢迎一切)。
我已修改代码以使用它,您可以在http://php.net/manual/it/book.mysqli.php找到修改脚本以使用mysqli的所有信息
<html>
<body>
<form method="post" >
<?php
// LOGIN TO DATABASE SCRIPT WRITTEN FOR MYSQLI
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
// END OF LOGIN TO DB SCRIPT
include DATABASE CONFIGURATION;
$query_ak='SELECT DISTINCT column_name FROM table_name';
$result = $mysqli->query($query_ak);
?>
<select name="exa" >
<?php
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="'.$row['ak_ex'].'">'.$row['ak_ex'].'</option>';
}
?>
</select>
<input type="submit" value="GO!" name="go"/>
</form>
</body>
</html>