【问题标题】:Selecting certain ids from SQL database and treating them differently than the rest从 SQL 数据库中选择某些 id 并将它们与其他 id 区别对待
【发布时间】:2019-08-07 02:30:43
【问题描述】:

我有一个包含 id 和 name 列的 SQL 类别表。 Id # 1、4 和 13 是“其他类别的类别”。我制作了一个 for 循环,该循环包含所有类别名称的下拉列表。我正在尝试让类别 #1、4、13 具有禁用属性,因此只能按下子类别。

categories = db.execute("SELECT id, categoryname FROM categories")
<form class="categoryselect">
        <select name="categorylist" id="categorylist">
            {% for category in categories %}
            <option value="{{category['id']}}">{{category['categoryname']}}</option>
            {% endfor %}
        </select>
</form>

类别 1、4 和 13 不应该是可按下的,而其他类别是。

【问题讨论】:

    标签: html loops for-loop jinja2


    【解决方案1】:

    将您的查询更改为

    SELECT id, categoryname FROM categories WHERE id NOT IN (1, 4, 13)
    

    这不会提取您不想要的类别。

    【讨论】:

    • 没问题。祝你好运
    • 我需要为这两个查询创建两个不同的 for 循环,我怎样才能使列表仍然按 id 从小到大排序?
    • 您将在查询末尾添加“ORDER BY id asc”
    • 问题是,如果我创建两个单独的 for 循环,第一个的结果将按顺序输出,然后在最后一个之后,第二个 for 循环的结果将输出。我想我会尝试在其中添加一个“已禁用”或为空的列,并将属性设置为该列。感谢您的帮助
    • 是的,你可以这样做,对不起,我想我误解了你原来的问题。我没有意识到您仍然需要放置其他类别。禁用标志会起作用,或者您可以在循环的前端检查它们(如果 id = 3 等)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 2013-04-26
    • 2011-11-26
    相关资源
    最近更新 更多