Как я могу написать для l oop с параметрами, которые изменяются на основе предыдущего кода? - PullRequest
1 голос
/ 18 июня 2020

У меня есть код python, который извлекает некоторую информацию из базы данных mysql. A for l oop захватывает каждую строку таблицы базы данных и отображает ее как html. Пользователь должен иметь возможность выбирать, какие столбцы таблицы отображать с помощью формы html, что означает, что my for l oop должен иметь возможность изменять в зависимости от ввода пользователя.

Вот мой код. Последним для l oop является рассматриваемый l oop. Спасибо за помощь!

<html>
<head>
<title></title>
</head>
<body>
<%
import mysql.connector
#CONNECTING TO THE MySQL SERVER
cnx=mysql.connector.connect(host='instruct.coe.neu.edu', user='3425cgrose', password='maceepy', database='3425cgrose')
cursor=cnx.cursor()

displayValues = form.getlist("trip")
n = len(displayValues)

if n==0:
    req.write("You have not selected any attributes")
else:
    for i in range(0,n):
        if i==0:
            attributes = displayValues[i]
        else:
            attributes = attributes + ", " + displayValues[i]

#Get trip records
query="SELECT " + attributes + " FROM TRIP;"
cursor.execute(query)

#Output results to Web page
req.write("<table border='2'>")
req.write("<tr>")
if 'TRIP_ID' in displayValues:
    req.write("<th>Trip ID</th>")
if 'CUS_ID' in displayValues:    
    req.write("<th>Customer ID</th>")
if 'ASSET_ID' in displayValues:
    req.write("<th>Asset ID</th>")
if 'TRIP_DIST' in displayValues:    
    req.write("<th>Trip Distance</th>")
if 'TRIP_DATE' in displayValues:    
    req.write("<th>Trip Date</th>")
if 'TRIP_SUBTOTAL' in displayValues:    
    req.write("<th>Trip Subtotal</th>")
if 'TRIP_TAX' in displayValues:    
    req.write("<th>Trip Tax</th>")
if 'TRIP_TOTAL' in displayValues:    
    req.write("<th>Trip Total</th>")
req.write("</tr>")

for ("""displayValues should go here""") in cursor:
        req.write("<tr>")
        if 'TRIP_ID' in displayValues:
            req.write("<td> {} </td>".format(TRIP_ID))
        if 'CUS_ID' in displayValues:
            req.write("<td> {} </td>".format(CUS_ID))
        if 'ASSET_ID' in displayValues:      
            req.write("<td> {} </td>".format(ASSET_ID))
        if 'TRIP_DIST' in displayValues:    
            req.write("<td> {} </td>".format(TRIP_DIST))
        if 'TRIP_DATE' in displayValues:      
            req.write("<td> {} </td>".format(TRIP_DATE))
        if 'TRIP_SUBTOTAL' in displayValues:     
            req.write("<td> {} </td>".format(TRIP_SUBTOTAL))
        if 'TRIP_TAX' in displayValues:      
            req.write("<td> {} </td>".format(TRIP_TAX))
        if 'TRIP_TOTAL' in displayValues: 
            req.write("<td> {} </td>".format(TRIP_TOTAL))
        req.write("</tr>")"     

req.write("</table>")

cursor.close
cnx.close
%>
</body>
</html>
...