Hi,
danke erstmal für den ersten Tipp.
Leider habe ich doch einige Probleme.
Man loggt sich als User ein und kommt auf eine "Hauptseite", von der man auf die Userdatenverwaltungsseite kommt.
Die möchte ich erstellen.
Zuerst möchte ich mit einer Auswahlliste abfragen was man "verwalten", also ändern, möchte.
Das soll man dann auf einer folgenden Seite machen und nur die Formulare für die Werte die man anpassen möchte solln erscheinen.
Hier erstmal die "Auswahlseite"
[codebox=html5 file=Unbenannt.html]{% extends "layout.html" %}
{% block title %}- Userdatenauswahl{% endblock %}
{% block body %}
<h1>Userdatenauswahl</h1>
<form action="{{ url_for('user_auswahl') }}" method="post">
<p>Welche Userdaten wollen Sie ändern?</p>
<select name="auswahl" size="5" multiple>
<option>Username</option>
<option>E-Mail Adresse</option>
<option>Passwort</option>
<option>Vorname</option>
<option>Nachname</option>
<option>Alter</option>
<option>Geschlecht</option>
<option>Studiengang</option>
</select>
<p class="subm1"><input type="submit" name="submit2" value="Jetzt ändern"></p>
</form>
{% endblock %}[/code]
Ich glaube man erzeugt ein Array mit der ausgewählten Optionen.
Hier mal meine Funktion für das speichern des Arrays in die Datenbank.
Ich weiß leider nicht wie ich "ansteuern" die richtige Userzeile zu benutzen. Ich habe da mal "xxx" eingetragen.
die Spalte in die das Array eingespeichert werden soll heißt "user_wahl" und ich habe dieser den Datentyp VARCHAR(100) gegeben. Ich war mir da auch nicht sicher was ich als Datentyp einstellen soll.
Code: Alles auswählen
@app.route('/user_auswahl')
def user_auswahl():
# Auswahl in Variable speichern
wahl=request.form.getlist('auswahl')
# Auswahl in Datenbank abspeichern
con = mysql.connector.connect(host=dbhost, user=dbuser, password=dbpass, db=dbname)
c = con.cursor()
c.execute("UPDATE user SET user_wahl = %s WHERE user_name = %s", (wahl, xxx))
con.commit()
c.close()
con.close()
return render_template("user_verw.html")
user_verw.html ist die Seite die nach der Auswahl kommen soll.
Ich hoffe Ihr könnt mir helfen.