2010-11-01 3 views
1

То, что я пытаюсь сделать, это отобразить выпадающее меню со всеми именами полей из базы данных mysql, как только пользователь выбирает одну и представляет форму, которую я хочу отобразить, второй выпадающий список, заполненный всеми строками из представленного имени поля, это мой код до сих пор:динамическое раскрывающееся меню, заполненное данными mysql

$result = mysql_query("select * from `parts`") or die(mysql_error()); 

echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>"; 
echo "<select name='field_names'>"; 

$i = 0; 
while ($i < mysql_num_fields($result)) { 
    $fieldname = mysql_field_name($result, $i); 
    echo '<option value="'.$fieldname.'">'.$fieldname.'</option>'; 
    $i++; 
} 

echo "</select>"; 
echo "<input type='submit' value='submit'></input>"; 
echo "</form>"; 

if($_POST) { 
    $fields = $_POST['field_names']; 
    $result1 = mysql_query("select '".$fields."' from `parts`") or die(mysql_error()); 
    echo '<select name="fields">'; 

    while ($row = mysql_fetch_array($result1)) { 
    echo "<option value=".$row[$fields].">".$row[$fields]."</option>"; 
    } 
    echo '</select>'; 
} 

Может кто-нибудь место, где я буду неправильно, благодаря

+0

Если вы создаете выбор из названий полей, казалось бы, вы должны нормализовать свою базу данных – Galen

ответ

0

Как сейчас, второй комплект отборов будет выпущен вне вашего тега </form>, поэтому он не будет отправлен вместе с остальной формой формы. В лучшем случае вы должны переместить тег закрытия формы ниже обработчика POST.

1

есть ошибка в строке номер 29

$result1 = mysql_query("select '" . $fields . "' from `parts`") or die(mysql_error()); 

вы используете 'вместо `. Сделайте следующее:

$result1 = mysql_query("select `" . $fields . "` from `parts`") or die(mysql_error()); 

Надеюсь, что ваша проблема решена.

0
here database details  
mysql_connect('hostname', 'username', 'password'); 
mysql_select_db('database-name'); 

$sql = "SELECT username FROM userregistraton"; 
    $result = mysql_query($sql); 

    echo "<select name='username'>"; 
    while ($row = mysql_fetch_array($result)) { 
    echo "<option value='" . $row['username'] ."'>" . $row['username'] ."</option>";} 
    echo "</select>"; 


    here username is the column of my table(userregistration) 
it works perfectly 
Смежные вопросы