2016-12-15 5 views
0

Я использую Laravel 5. Я хотел перечислить все имена базы данных в раскрывающемся списке , но я всегда получаю последнее значение. Я уже использую foreach loop, но ничего не происходит. Вот мой код:Последнее значение, которое извлекается при выпадающем списке Laravel 5

public function create(Request $request) 
    { 
     //echo "<pre>"; 
     $sqlconn = mysqli_connect('127.0.0.1', 'root', '1234'); 
     $showdb = "SHOW DATABASES"; 
     $dbconn = mysqli_query($sqlconn, $showdb); 
     $dbnames = array(); 


     while ($row=mysqli_fetch_assoc($dbconn)) { 
       $dbnames = $row; 
       foreach ($dbnames as $dbname => $value) { 
        if ($value != "information_schema" && $value != "performance_schema" && $value != "test" && $value != "mysql") { 
         //$dblists = implode(":", array($value)); 
         $dblists = $value; 
         //print_r($dblists); 
        } 
       } 
     } 

     //die(); 
} 

And here's my html codes: 

<div class="col-md-12"> 
        <div class="form-group @if($errors->has('description')) has-error @endif"> 
         <div class="col-xs-2"> 
          <label for="reports_description" class="control-label"><h5><b>Select Database:</b></h5></label> 
         </div> 
         <div class="col-xs-5"> 
          <select class="form-control"> 
          <option>---SELECT---</option> 
          <option value="{{$dblists}}">{{$dblists}}</option> 
          </select> 
         </div> 
        </div> 
        </div> 
+0

Две вещи, чтобы отметить для вас - 1. Вы инициализацией '$ dblists' как переменная не массив 2. '$ dblists' инициализируется внутри цикла foreach - следовательно, он будет содержать только« $ value »от последней итерации цикла. Вы должны инициализировать '$ dblists = [];' из цикла foreach, а затем в условии 'if' в цикле foreach' $ dblists [] = $ value' будет продолжать толкать значения в массив '$ dblists'; – Donkarnash

ответ

0

Контроллер:

public function create(Request $request) { 
    $databases = \DB::select('show databases'); 

    return view('view.name', compact('databases')); 
} 

Вид:

@foreach($databases as $database) 
    <p>{{ $database->Database }}<p> 
@endforeach