2017-05-27 31 views
0

Ich mache ein Formular php/mysql. Das Formular fügt Daten zur Datenbank hinzu. Ein Teil des Formulars fügt den Benutzer hinzu, der die Daten hinzufügt. Anstatt es eine Auswahlbox zu sein, in der sie jeden möglichen Benutzernamen wählen können.Benutzer einfügen, der Beiträge schreibt

Ich brauche diesen Formularteil, um ihnen ihren Benutzernamen anzuzeigen, wählen Sie nicht aus der ganzen Liste aus.

<div class="form-group"> 
    <label for="users" class="col-sm-4 control-label">Select User: <span class="required">*</span></label> 
    <div class="col-sm-8"> 
     <select name="post_user" class="form-control" id=""> 

      <?php 

       $users_query = "SELECT username FROM users"; 
       $select_users = mysqli_query($connection,$users_query); 

       confirmQuery($select_users); 


       while($row = mysqli_fetch_assoc($select_users)) { 
       $user_id = $row['user_id']; 
       $username = $row['username']; 

      echo "<option value='{$username}'>{$username}</option>"; 

      } 
      ?> 
     </select> 
    </div> 
</div> 
+0

Ich konnte nicht verstehen, was Sie tun möchten. Willst du es bitte erklären ?? –

+0

Es ist ein Formular, das Daten an die Datenbank sendet. Eines der Felder im Formular muss den Benutzern ihren Benutzernamen anzeigen. Eine deaktivierte Eingabe, die ihnen ihren Benutzernamen zeigt –

+0

Wo ist deine Frage? –

Antwort

0

Nun unter der Annahme, jeder Benutzernamen eindeutig zuzuordnen sind, alles, was Sie tun müssen, um den Benutzernamen einer Person erhalten (ob das aus einem Cookie ist oder aus anderen Gründen) und verwenden Sie einen Prepared Statement. die vorbereitete Anweisung verwenden werden Sie zur Eingabe verschiedene Namen zulassen in Ihre SQL-Abfrage.

Ihr Echo scheint nicht korrekt zu sein. Der einfachste Weg ist, das Echo in Teile wie jede andere Sprache aufzuteilen und zu verketten.

So aus dem Code, Ihr Echo muss wie so sein:

echo "<option value='". $username ."'>" . $username . "</option>"; 
+0

Danke, dass –

+0

das Echo ist in Ordnung - Variablen können in doppelten Anführungszeichen verwendet werden. – inarilo

0

Try Select2 jquery plugin verwenden.

Select2 gibt Ihnen eine anpassbare Auswahlbox mit Unterstützung für Suche, Tagging, Remote-Datensätzen, unendliche Scrollen und viele andere hoch verwendeten Optionen.

Sie können Optionen in Ihrer Auswahlbox deaktivieren und einfach anzeigen.

<select class="js-example-disabled-results"> 
<option value="one">First</option> 
<option value="two" disabled="disabled">Second (disabled)</option> 
<option value="three">Third</option> 
</select> 

Siehe examples page of select2.

0

Versuchen Sie diesen Code aus. Sollte helfen. Bitte beachten Sie:: $ Benutzername und $ Passwort dienen nur als Referenz. Best Practice soll sie sicher machen.

<?php 

    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "stackoverflow"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     echo "Connection failed: " . $conn->connect_error; 
    }else 
    { 
     echo "Connection success<br>"; 
    } 

    $sql = "select * from users"; 
    $result = $conn->query($sql); 
    echo "<select>"; 
    while($row = $result->fetch_assoc()) { 
     $user = $row['username']; 
     echo "<option value='$user'>$user</option>"; 
    } 
    echo "</select>"; 
?> 
Verwandte Themen