我有2个投递箱的搜索表单。让我们说products
和recipe_type
。
如果用户选择两个dropbox,我的查询工作正常。
但如果有人决定只搜索产品,那么查询就无法运行。
应如何做到这一点?
查询是:
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
有谁帮我?
答案 0 :(得分:0)
如果未指定变量,变量包含哪些内容?空值?一个空字符串?以下是空字符串的示例:
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