My Flask не может правильно отобразить строку mysql - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь выбрать строки, в которых столбец «NomeAbrev» равен каждому необходимому значению (в данном случае: «vitamina_a», «vitamina_b», «adh» и «ferro») , а затем отобразить полную строку для каждого значения.

Я могу правильно запустить MySQL для каждого из элементов, но при отображении в шаблоне он показывает только строку одного из них ('ferro')линия, в данном случае).Как вы можете видеть вывод:

vitamina_c: 0.5 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'))
vitamina_a: 0 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'))
adh: 7 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'))
ferro: 3 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini')) 

Мой код выглядит так:

for i in Dados:
    PuxaDados   =   "SELECT nomeAbrev, valoresMin, valoresMax, grupo, fonte FROM valores_ref WHERE nomeAbrev = %s"
    Cursor.execute(PuxaDados, (i[0])) # so far so good
    SelectAll   =   Cursor.fetchall()

return render_template('finalizar.html',
    title='Selecionar exames',
    results=Dados,
    SELECIONA_TUDO = SelectAll)

Шаблон:

{% extends "layout.html" %}
{% block content %}
{% for i in results %}
{{ i[0] }}: {{ i[1] }}
{{ SELECIONA_TUDO }} #  Here is where the array of each should appear.
<br>
{% endfor %}
{% endblock content %}

1 Ответ

0 голосов
/ 22 декабря 2018

Насколько я вижу, вы перебираете Dados и извлекаете его после каждой итерации.Чтобы показать их все, вам нужно их кешировать.

Код Python

SelectAll = []
for i in Dados:
   PuxaDados   =   "SELECT nomeAbrev, valoresMin, valoresMax, grupo, fonte FROM valores_ref WHERE nomeAbrev = %s"
    Cursor.execute(PuxaDados, (i[0])) # so far so good
    SelectAll.append(Cursor.fetchall())

return render_template('finalizar.html',
    title='Selecionar exames',
    results=Dados,
    SELECIONA_TUDO = SelectAll)

Я также настроил шаблон, если вам не нужно рисоватьSELECIONA_TUDO в каждом для итерации цикла.

Шаблон

{% extends "layout.html" %}

{% block content %}

{% for i in results %}
{{ i[0] }}: {{ i[1] }}
<br>
{% endfor %}

{% for x in SELECIONA_TUDO %}
{{ x }}
<br><br>
{% endfor %}
<br>

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