SQL-запрос для отображения сводки заказа с разными таблицами - PullRequest
0 голосов
/ 25 сентября 2019

Я создаю сводку заказов для своего сайта.На странице моего заказа мне нужно показать данные клиента и данные о продукте, который заказан.По сути, простая операция соединения будет работать для одной таблицы, чтобы получить данные из другой таблицы с первичным ключом.Но мне нужно показать данные обеих таблиц в одном и том же разделе на странице HTML.

Я попытался вставить данные обеих таблиц на одной странице с двумя для циклов на странице HTML.но данные удвоились.Например: 1 продукт напечатан 2 раза.

Код Python:

@app.route('/myorder',methods=['GET','POST'])
def myorder():
    if request.method == 'GET':
        cur=connection.cursor()
        user_id=session['userid']
        cur.execute("select books.* from books join orders on books.isbn = orders.isbn where orders.user_id = %s",[user_id])
        data=cur.fetchall()
        cur.execute("select order_date from orders where user_id=%s",[user_id])
        data1=cur.fetchall()
        print(data)
        print(data1)
        cur.close()
    return render_template('myorder.html',data=data,data1=data1)

HTML-код:

    {% for book in data %}
    {% for book1 in data1 %}

   <p style="background-color:DarkGray;" class="card-text"> {{ book[2] }} </p>
    Author<p style="background-color:AliceBlue ;" class="card-text">{{ book[3] }}</p>
    Date of Publishing<p style="background-color:AliceBlue ;"class="card-text">{{ book[5] }}</p>
    Description<p style="background-color:AliceBlue ;"class="card-text">{{ book[6] }}</p>
    Copies Available<p style="background-color:AliceBlue ;"class="card-text">{{ book[7] }}</p>
    Price<p style="background-color:AliceBlue ;"class="card-text">{{ book[8] }}</p>
    Ordered_date<p style="background-color:AliceBlue ;"class="card-date">{{ book1[5] }}</p>
{% endfor %}
    {% endfor %}

Я ожидаю отображения некоторых данных из обеих таблиц.Любая помощь приветствуется.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...