首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态下拉列表-从mysql获取值

问动态下拉列表-从mysql获取值
EN

Stack Overflow用户
提问于 2014-12-14 01:31:10
回答 2查看 11.1K关注 0票数 1

我有这个code.it是一个下拉列表和一个提交按钮。我有一个查询"SELECT * DISTINCT column_name FROM table_name“,其结果为15个值

现在,我想获取查询的这些值,并在option=上动态输入它们……field.Also "NAME“部分必须与values相同。示例:如果value1="abcd“

​

代码语言:javascript
复制
<option value="abcd" >abcd</option>

​

​

代码语言:javascript
复制
<!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>

​

我做了这个,但没有起作用

​

代码语言:javascript
复制
<!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>

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-14 03:01:35

您已经犯了很多错误,首先将OPTION对象放在WHILE循环之外,然后将提交按钮放在SELECT对象中,最后将distinct作为函数编写,正确的语法如下所示。

我建议您使用mysqli来避免安全问题,因为mysql将被弃用。也可以使用include而不是include_once,因为它需要额外的工作来呈现文件(差别很小,但是一切都是受欢迎的)。

我已经修改了代码以使用它,您可以在http://php.net/manual/it/book.mysqli.php上找到修改脚本以使用mysqli的所有信息

代码语言:javascript
复制
    <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>
票数 1
EN

Stack Overflow用户

发布于 2014-12-14 01:36:22

你应该把<option>...</option>放在循环里面。将submit按钮放在</select>标记之外。你也有语法错误。mysql_error应为mysql_error()。

代码语言:javascript
复制
<!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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27461673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档