Suchfunktion in Python
Verfasst: Sonntag 3. Februar 2019, 10:02
Guten Tag, ich habe einen Code, der eine Datenbankabfrage durch führt und einen Datensatz wieder zurückgibt. Mein Problem ist es das ich jedoch alle Datensätze zurückgeben möchte. Wie könnte ich den Code verändern das alle Datensätze aus der Datenbank zurück gegeben werden.
Ich habe es bereits mit fetchall versucht jedoch hat es bei mir nicht funktioniert. Hat jemand eine Idee wie ich es hinbekommen kann bzw. wie der Code aussehen muss.
Danke für die Antwort
Code: Alles auswählen
@app.route('/Suchen', methods = ['POST'])
def Suchen():
try:
# My SQL Verbidnung Aufbauen
conn = mysql.connect()
cursor = conn.cursor()
Suchen = request.form['inputSuche']
if len(Suchen) > 0:
#Durch diese Abfrage kommt die Anzahl aller Nutzer mit dem eigegebenen Nickname, im besten Fall 0>
cursor.execute('SELECT count(*) FROM schueler WHERE Name = (%s) OR Nickname = (%s) OR Vorname = (%s);', (Suchen, Suchen, Suchen))
#Denk daran fetchone = nur ein Datensatz, fetchall = alle mit dem Nickname
result = list(cursor.fetchone())
ergebnis = result[0]
#hier wird überprüft ob überhaupt ein Nutzer gefunden wurde
if ergebnis == 0:
return render_template('suche.html', ausgabe='Es gibt keinen Schüler mit diesem Namen')
else:
cursor.execute('SELECT * FROM `schueler` WHERE Name = (%s) OR Nickname =(%s) OR Vorname = (%s);', (Suchen, Suchen, Suchen))
result = list(cursor.fetchone())
nickname, vorname, nachname, interessen = result[18], result[17], result[16], result[22]
email = ""
if result[19] > 0:
email = result[12]
return render_template('Suchen.html', nickname=nickname, vorname=vorname, name=nachname, email=email, interessen=interessen)
else:
return render_template('Suchen.html', nickname=nickname, vorname=vorname, name=nachname, interessen=interessen)
else:
render_template('suche.html', ausgabe='Geben Sie einen Namen ein')
finally:
cursor.close()
conn.close()
Danke für die Antwort