2013-12-23 4 views
0

Я пытаюсь получить значения для окна параметров из базы данных. Я не понимаю, почему этот код не работает. Пожалуйста, помогитеполучить значения для поля опции из базы данных mysql

<?php 
    include_once "connection.php"; 
     $order ="SELECT * FROM seminar "; 

     $result = mysql_query($order); 

    ?> 

     <?php 

    echo '<div class="uk-form-row">'; 
    echo '<label class="uk-form-label" for="form-h-s">Description</label>'; 
    echo '<div class="uk-form-controls">'; 
    echo '<select name="description" id="form-h-s">'; 
    while($data = mysql_fetch_row($result)){ 
    $options = '<option value="data[1]">data[2]</option>'; 
    echo $options; 

    echo '</select>'; 
    } 
    echo ' </div>'; 
    echo '</div>'; 
    ?> 

ответ

0

Решение:

$options не будет работать, потому что вы пишете необработанный текст (вместо переменной $data[1]); вы также не можете использовать одинарные кавычки при вызове переменных переменных; Вы должны использовать двойные кавычки, чтобы использовать переменные интерполяции, например, так:

$options = "<option value='$data[1]'>$data[2]</option>"; 
//  ^double quote^$ sign^$ sign  ^double quote 

Вы также пишете закрытие </select> тега внутри вашего цикла. Все это должно выглядеть следующим образом:

echo '<select name="description" id="form-h-s">'; 
while($data = mysql_fetch_row($result)) 
{ 
    echo '<option value='$data[1]'>$data[2]</option>'; 
    //you don't even need to set the $options variable; just output it directly. 
} 
echo '</select>'; 

Сноска:

mysql_ устарела; настоятельно рекомендую использовать mysqli_ или лучше PDO().

+0

Ну, у меня действительно есть декларация php сверху. Я забыл включить это (теперь я редактировал свой пост). Поскольку между ними есть какой-то html-код. – lamahewa

+0

Я внес изменения $ options = " $ data [2]"; похоже сейчас. Спасибо большое. – lamahewa

+0

@lamahewa да нет проблем! Я иногда застрял с этим - как $, так и $, и иногда он просто берет вторую пару глаз. – brandonscript

Смежные вопросы