2016-11-20 6 views
1

Хотя я исследовал, я не смог найти решение для этого. Мне нужно получить значение базы данных («По умолчанию») в качестве предварительно выбранного значения выпадающего списка.Предварительно выбранное значение выпадающего списка из базы данных MySQL

<select name="listCustomer" id="listCustomer"> 
    <?php 
    $sql = mysqli_query($connection,"SELECT customer_name FROM customers"); 
    while ($row = mysqli_fetch_array($sql,MYSQLI_ASSOC)){ 
    echo "<option value=\"" . $row['customer_name'] . "\">" . $row['customer_name'] . "</option>";} 
    ?> 
</select> 

Не могли бы вы помочь мне в этом?

ответ

1

Просто создайте переменную перед эхо, что-то вроде:

$selected = ((strtolower($row['customer_name']) == 'default') ? 'selected' : ''); 

затем изменить эхо к этому:

echo '<option '.$selected.' value="'.$row['customer_name'].'">'.$row['customer_name'].'</option>'; 
+0

Спасибо друг, есть некоторые ненужные '" 'знаков в коде. Кроме этого, это решить мою проблему. Но проблема теперь выбранное значение не собирается в базу данных теперь всегда„по умолчанию“ вставляют в базу данных – EKBG

+0

ред код твои: '$ SQL = mysqli_query ($ соединение, "SELECT customer_name от клиентов"); то время как ($ строки = mysqli_fetch_array ($ SQL, MYSQLI_ASSOC)) { \t. \t \t \t \t \t \t \t \t \t $ selected = ((strtolower ($ row ['customer_name']) == 'default')? 'selected': ''); echo ''. $ строки [ 'CUSTOMER_NAME'].' ';} ' – EKBG

+0

Это неправильно. Двойные кавычки в моем примере НЕ лишние. Все атрибуты должны быть заключены в двойные кавычки. – junkfoodjunkie

1

Это может быть осуществлено с использованием, если заявление о CUSTOMER_NAME

$sql = mysqli_query($connection,"SELECT customer_name FROM customers"); 
while ($row = mysqli_fetch_array($sql,MYSQLI_ASSOC)){ 
    if($row["customer_name"] === "Default"){ 
     echo "<option value=\"" . $row['customer_name'] . "\" selected>" . $row['customer_name'] . "</option>"; 
    } else { 
     echo "<option value=\"" . $row['customer_name'] . "\">" . $row['customer_name'] . "</option>"; 
    } 
} 
?> 

Обратите внимание на выбранный тег на первом эхо.

+0

Спасибо, друг, вы пропустили знак «=» после '$ row' в цикле' while'. Помимо этого, это решило мою проблему. Но теперь проблема заключается в том, что выбранное значение теперь не поступает в базу данных, всегда добавляется «Default» в базу данных. – EKBG

+0

Thats, потому что вы вставляете «Default» в качестве значения выбранного параметра. –

+0

Да, но как я могу вставить значение выбора в базу данных, не считая значения по умолчанию? – EKBG

0
$query="SELECT customer_name FROM customers"; 
$result = @mysql_query ($query); 
echo "<select name=customer_name value=' '>"; 
while([email protected]_fetch_array($result)){ 
echo "<option value=$drop[customer_name]>$drop[customer_name]</option>"; 
} 
echo "</select>"; 
+0

, если вы выберете любое значение, то это обязательно вставляется в таблицу –