2016-05-24 9 views
1

データベースからコンボボックスに入力しています。これまでのところすべてがOKですが、htmlの結果にチェックすると、コンボボックスの空のオプションタグforeachの行があります。テーブルにヌル行がありません。私は解決策を達成していない、この問題はこの場合にのみ発生しますget_flight_locations関数。コンボボックスの不要な空行

結果

<select class="form-control" name="flightfrom"> 
     <option>Choose please</option> 
     <option value="1">Baku-GYD</option> 
     <option></option> 
     <option value="2">Berlin-TXL</option> 
     <option></option>      
    </select> 

のindex.php

<?php 
    $lst_to = Database::getInstance()->get_flight_locations(); 
?> 

<select class="form-control" name="flightfrom"> 
    <option><?php echo $lang[$clang]["lblChoose"] ?></option> 
    <?php 
     while($row = mysqli_fetch_array($lst_to)) { 
      printf(
       "<option value=\"%s\">%s-%s<option>", 
       $row["city_id"], 
       $row["city_name"], 
       $row["airport_code"] 
      ); 
     } 
    ?> 
</select> 

Databaseクラス

<?php 

    class Database extends mysqli { 
     private $db = DB_NAME; 
     private $user = DB_USER; 
     private $pass = DB_PASS;  
     private $host = DB_HOST; 

     private static $instance = null; 

     public static function getInstance() { 
      if (!self::$instance instanceof self) { 
       self::$instance = new self; 
      } 
      return self::$instance; 
     } 

     private function __construct() { 
      parent::__construct($this->host, $this->user, $this->pass, $this->db); 
      if (mysqli_connect_error()) { 
       exit('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); 
      } 
      parent::set_charset('utf-8'); 
     } 

     public function __clone() { 
      trigger_error('Clone is not allowed', E_USER_ERROR); 
     } 

     public function __wakeup() { 
      trigger_error('Deserializing is not allowed', E_USER_ERROR); 
     } 

     public function get_flight_locations() { 
      return $this->query("select * from v_flight_location"); 
     } 
    } 
?> 

答えて

0

あなたは0を忘れてしまいましたシンボルのオプションクローズタグ。したがって、<option>タグを閉じる代わりに、もう1つ開きます。ここで

は修正だ:

  printf(
       "<option value=\"%s\">%s-%s</option>", 
       $row["city_id"], 
       $row["city_name"], 
       $row["airport_code"] 
      ); 
+0

は、それが私を逃れ、どうもありがとうございました:) –

関連する問題