我有2下拉框搜索表单。比如products
和recipe_type
。如果用户选择两个下拉框,我的查询工作正常。但是,如果有人决定只搜索产品,查询将不起作用。
这应该怎么做?
查询为:
SELECT
receitas.id,
receitas.titulo,
receitas.img_small,
receitas.tempo,
receitas.dificuldade,
receitas.pessoas,
id_tipo.id_tipo,
id_tipo.id_receita,
tipo.id_t,
produtos.id_p,
produtos.nome,
id_produto.id_receita,
id_produto.id_produto
FROM
receitas, id_tipo, tipo, produtos, id_produto
WHERE
tipo.id_t = %s
AND produtos.id_p = %s
AND receitas.id = id_tipo.id_receita
AND id_tipo.id_tipo = tipo.id_t
AND receitas.id = id_produto.id_receita
AND id_produto.id_produto = produtos.id_p
有人来帮我吗?
未指定变量时,变量包含什么内容?空吗?空字符串?下面是一个空字符串的例子:
SELECT
receitas.id,
receitas.titulo,
receitas.img_small,
receitas.tempo,
receitas.dificuldade,
receitas.pessoas,
id_tipo.id_tipo,
id_tipo.id_receita,
tipo.id_t,
produtos.id_p,
produtos.nome,
id_produto.id_receita,
id_produto.id_produto
FROM
receitas, id_tipo, tipo, produtos, id_produto
WHERE
(tipo.id_t = %s OR %s = '')
AND (produtos.id_p = %s OR %s = '')
AND receitas.id = id_tipo.id_receita
AND id_tipo.id_tipo = tipo.id_t
AND receitas.id = id_produto.id_receita
AND id_produto.id_produto = produtos.id_p