2016-07-29 5 views
1

Also habe ich Dropdown-Menü, das ich mit Elementen in Array ausfüllen möchte. Problem ist, dass nur die Sache in Array ist das letzte Element in der Datenbank. Dies ist PHP:Zeige nur das letzte Element im Array

$link = mysqli_connect("79.170.44.77","cl38-baza","3g!cwDwxm","cl38-baza"); 
//LOADING DATA 
if(mysqli_connect_error()) { 
    die("Database Connection Error"); 
} else { 
    $query = "SELECT name FROM People "; 
    $result = mysqli_query($link,$query); 

    if(mysqli_num_rows($result) > 0) { 
     while($row = mysqli_fetch_assoc($result)) { 
      $names= array($row); 

     } 
    } else { 
     echo "no result!"; 
    } 

} 

Und HTML ist:

   <select class="form-control select2" style="width: 100%;"> 
        <option selected="selected">Choose one</option> 
        <?php 

        foreach($names as $name) { ?> 
         <option value="<?php echo $name['name'] ?>"><?php echo $name['name'] ?></option> 
        <?php 
        } ?> 

       </select> 

Dank für die Hilfe!

+0

Änderung '$ names = array ($ row);' auf '$ Namen [] = $ row;' – Jeff

Antwort

1

Diese Zeile weist Wert auf Namen $

$names= array($row); 

Stattdessen müssen Sie in HTML-Array, um Schleife hinzufügen

$names[] = $row; 

Auch

$names = []; 

über die Linie

if(mysqli_num_rows($result) > 0) { 
0

Sie müssen nicht

$names= array($row); 

Sie benötigen

$names[]= $row; 
+0

Vielen Dank !! –

+1

Um Code-Gerüche zu vermeiden, initiieren Sie das Array mit '$ names = array();' oder '$ names = [];', bevor Sie while eingeben. –

+0

Danke u-nik..ich werde das benutzen :) –

0

wir den Code wie verwenden müssen, erklären:

$ names = array();

$ name [] = $ row;

Wenn Sie nur letztes Element aus einem Array ($ Namen) wollen, dass die Verwendung Ende ($ Namen)

0

Sie sind fast da sehr!

ändern $names= array($row); Um $names[]= $row;