Suchfunktion in Python

Django, Flask, Bottle, WSGI, CGI…
Antworten
_verzweifelter_Tim
User
Beiträge: 8
Registriert: Sonntag 27. Januar 2019, 18:12

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.

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() 
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
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum denkst Du, dass Du, wenn Du exakt die selbe Frage nochmal stellst, eine andere Antwort von mir bekommst, als beim ersten mal?

Wo hast Du konkret Probleme mit der Antwort (inklusive Code-Beispiel)?
Antworten