Daten aus MySQL Datenbank holen und für mehrfachauswahl anzeigen

MisterMi

Erfahrenes Mitglied
Hallo,

ich habe eine MySQL Datenbank in der Spieler stehen mit ID, Name, Verein, Position und Marktwert.

Nun möchte ich gern die Spieler in einer Mehrfachauswahl angezeigt bekommen, um sie dann markieren und ein paar auswählen zu können.

Code:
PHP:
<?
//Verbindung herstellen
    $db = mysql_connect("XXX.de.mysql", "XXX", "XXX");
    mysql_select_db("XXX",$db);
      $abfrage = "SELECT * FROM `MarktSpieler`";
    $ergebnis = mysql_query($abfrage);
    while($ausgabe = mysql_fetch_object($ergebnis))
    {
     echo '<a>'.$ausgabe->Spieler.'</a><br>';
    }
?>

Bei meinem Code wird nun die Liste der Namen ausgegeben.

Wie kann man das in einer Mehrfachauswahl anzeigen lassen um dann Spieler auswählen zu können?

Also zum Beispiel Alle Spieler mit Position Abwehr zeigen und dann dort 3 auswählen.

Vielen Dank
 
Zuletzt bearbeitet:
Da die diese Art von Fragen sehr oft kommt (alos genau deine Fehlermeldung), habe ich mal ein Tutorial geschrieben wie man am besten auf Fehlersuche geht.
PHP MySQL Debug Queries
Geh es doch mal durch und falls du die Lösung nicht findest, poste mal das ausgegebe SQL-Statement ins Forum.
 
Gut, du hast inzwischen dein erstes Posting massiv abgeändert was meine vorherige Antwort obsolet macht.

hier mal dein aktuellstes Start-Posting damit meine Antwort weiterhin Sinn macht falls du es nochmals abänderst....
Hallo,

ich habe eine MySQL Datenbank in der Spieler stehen mit ID, Name, Verein, Position und Marktwert.

Nun möchte ich gern die Spieler in einer Mehrfachauswahl angezeigt bekommen, um sie dann markieren und ein paar auswählen zu können.

Code:
PHP:
<?
//Verbindung herstellen
    $db = mysql_connect("XXX.de.mysql", "XXX", "XXX");
    mysql_select_db("MarktSpieler",$db);
    $abfrage = "SELECT * FROM `MarktSpieler`";
    $ergebnis = mysql_query($abfrage);
     $abfrage = "SELECT * FROM `MarktSpieler`";
    $ergebnis = mysql_query($abfrage);
    while($ausgabe = mysql_fetch_object($ergebnis))
    {
     echo '<a>'.$ausgabe->Spieler.'</a><br>';
    }
?>

Bei meinem Code wird nun die Liste der Namen ausgegeben.

Wie kann man das in einer Mehrfachauswahl anzeigen lassen um dann Spieler auswählen zu können?

Also zum Beispiel Alle Spieler mit Position Abwehr zeigen und dann dort 3 auswählen.

Vielen Dank



item: Warum 2 mal dasselbe SQL abschicken? bringt ausser schlechterer Performance gar nix. Also, weg damit

item: Um die Spieler auf die Position einzugrenzen musst du im SQL mit WHERE diese auch eingrenzen

item: Um 3 auszuwählen arbeite mit LIMIT. Denk daran aber mit ORDER BY die Reihenfolge so anzupassen damit die ersten 3 Einträge dem Kriterium entsprechen
 
Das ich dann eine Where Position = "Abwehr" einfügen muss wusste ich ;)
Die Doppelabfrage war ein Versehen und hab ich rausgenommen.

Die Anfrage habe ich massiv geändert, weil Ich nur die falsche Datenbank abgefragt hatte und der Zugriff nun geht.

Ich suche eigentlich nur eine Möglichkeit die Datenbank nicht als Liste anzusehen, sondern die Einträge in einer Mehrfachauswahl wie zum Beispiel

<form method="post" action="Ausgabe.php">
<select name="auswahl[]" size="3" multiple="multiple">
<option value="1">Auswahl 1</option>
<option value="2">Auswahl 2</option>
<option value="3">Auswahl 3</option>
</select>
<input type="submit" name="senden" value="Senden">
</form>

anzusehen.
 
Dann mach doch einfach dein HTML innerhalb der Schleife entsprechend
PHP:
echo '<form method="post" action="Ausgabe.php">';
echo '<select name="auswahl[]" size="3" multiple="multiple">';
while($ausgabe = mysql_fetch_object($ergebnis)){
    echo "<option value='{$ausgabe->id}'>{$ausgabe->spieler}</option>";
}
echo '</select>';
echo '<input type="submit" name="senden" value="Senden">';
echo '</form>';
 
Zurück