2014-12-13 5 views
1

У меня этот код.it - ​​выпадающий список и кнопка отправки. У меня есть запрос «SELECT * DISTINCT column_name FROM table_name», у которого есть результат 15 значенийдинамический выпадающий список-получить значения из mysql

Теперь я хочу взять эти значения запроса и динамически ввести их в поле option = ..... Также, Раздел «ИМЯ» должен быть таким же, как и значения. пример: если значение1 = "ABCD"

<option value="abcd" >abcd</option>

<!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> 
 
\t <option value="value4" >NAME 4</option> 
 
    <option value="value5" >NAME 5</option> 
 
    <option value="value6" >NAME 6</option> 
 
\t <option value="value7" >NAME 7</option> 
 
    <option value="value8" >NAME 8</option> 
 
    <option value="value9" > NAME 9</option> 
 
\t <option value="value10" >NAME 10</option> 
 
    <option value="value11" >NAME 11</option> 
 
    <option value="value12" >NAME 12</option> 
 
\t <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>

я сделал это, но не работало

<!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)) { 
 
    \t } 
 
\t ?> 
 
\t <option value = $row['ak_ex']> "$row['ak_ex']"</option> 
 
    
 
<input type="submit" value="GO!" name="go"/> 
 
</select> 
 
</form> 
 
</body> 
 
</html>

+0

Обратите внимание, что окрености не является функцией – Strawberry

ответ

1

Вы сделали много ошибок, сначала вы поместили объект OPTION вне цикла WHILE, то вы кладете кнопку отправки внутри объекта Select, в конце концов, вы пишете отчетливый как функция, то правильный синтаксис ниже.

Предлагаю вам использовать mysqli, чтобы избежать проблем с безопасностью, и поскольку mysql будет DEPRECATED. Используйте также include и not include_once, потому что для рендеринга файла требуется дополнительная работа с PHP (небольшая разница, но все приветствуется).

Я изменил код, чтобы использовать его, вы найдете всю необходимую информацию, чтобы изменить сценарий для работы с MySQLi на http://php.net/manual/it/book.mysqli.php

<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> 
+0

возможно принять выбранный $ row ['ak_ex'] и проверить его значение в другом кадре? – user3314027

+1

Да, вам нужно вызвать скрипт MySQL и проверить значение строки ak_ex с инструкциями IF и распечатать результат. Если это разрешило вашу проблему, выберите Принятый ответ, или люди потеряют желание ответить на ваши вопросы. Спасибо – markserver

+0

Я делаю это и не работаю $ query_ak = 'SELECT DISTINCT (ak_ex) FROM table_name'; \t $ result_ak = mysql_query ($ query_ak) или die (mysql_error()); \t \t \t если (Исеть ($ _ POST [ 'идти'])) \t {\t // elegxei Ан \t \t время ($ строки = mysqli_fetch_assoc ($ result_ak)) { \t \t если ($ _POST ["exa"] = ". $ row ['ak_ex'].") \t { \t \t \t $ query = "SELECT * FROM table_name где ak_ex = '. $ row [' ak_ex '].'"; \t \t \t $ result = mysql_query ($ query) или die ('Query failed:'.mysql_error()); – user3314027

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> 
Смежные вопросы