2014-11-17 3 views
0

Я изо всех сил пытаюсь заставить этот код работать, я хочу, чтобы он отобразил элемент (который уже находится в базе данных), который будет выбран в форме выбора.PHP выбор формы формы формы

<label>Server Ports:</label> 
<select multiple class="form-control" name="select[]"> 
<?php 
// Get Server Information 
    $query = "SELECT port_no FROM _servers WHERE (server_id = '$servid') "; 
    $result = mysql_query($query) or die ('Unable to run query:'.mysql_error()); 
    while($row = mysql_fetch_assoc($result)){ 
     $no = $row['port_no']; 
    }        
    $query = "SELECT id, name, port_no, unique_id FROM ports ORDER BY name ASC"; 
    $result = mysql_query($query) or die ('Unable to run query:'.mysql_error()); 
    while($row = mysql_fetch_assoc($result)) 
    { 
     $port_no = $row['port_no']; 
     $port_name = $row['name']; 
     $p_unique = $row['unique_id']; 
    } 
?> 
<option value="<?php echo $p_unique;?>" 
<?php 
    if ($p_unique == $no) { 
     $check = 'selected'; 
    } else { 
     $check = ''; 
    } 
    echo $check; 
?> 
> 
<?php 
    echo $row['name']; 
?> 
(
<?php 
    echo $row['port_no']; 
?> 
)</option> 
<?php 
    } 
?> 
</select> 
+0

mysql_ * немного устарели. –

+0

В чем проблема? Просто статус «checked» или вообще ничего не отображается? – RST

+0

Проверьте исходный код HTML –

ответ

0

Вы уверены, что ваш тест должен быть if ($p_unique == $no) {} и не if ($port_no == $no) {}?

Если да, то попробуйте проверяет переменные значения:

сделать var_dump() из $no:

var_dump($no); 

В ваше время() цикл, вы также можете проверить значения $ p_unique и $ не как что:

var_dump($p_unique.'/'.$no); 

Кроме того, здесь есть простой способ проверить выбранный:

<option value="<?php echo $p_unique;?>" <?php if ($p_unique == $no) echo 'selected="selected"'; ?>><?php echo $row['name'] ;?> (<?php echo $row['port_no'] ;?>)</option> 
Смежные вопросы