我是一个有基本 PHP 知识的初学者。我有一个多个下拉菜单项列表来查询我的数据库。提交时,我想显示从数据库中选择的项目的描述。
我的查询
$cat3=$_GET['cat3'];
if(isset($cat3) and strlen($cat3) > 0){
$quer3="SELECT DISTINCT subcat2, detail FROM subcategory2 where subcat_id=$cat3 order by subcat2";
}else{$quer3="SELECT DISTINCT subcat2 FROM subcategory2 order by subcat2"; }
sumbit 上发布的内容
echo "<select name='subcat3' ><option value=''>Select one</option>";
foreach ($dbo->query($quer3) as $noticia) {
echo "<option value='$noticia[subcat2]'>$noticia[subcat2]</option>";
}
echo "</select>";
是否可以在 subcat3 中传递我的详细信息字段,或者我是否必须创建另一个名为“详细信息”的表和另一个查询 ($quer4) 并通过 subcat2 id 链接它?
任何类似于商品搜索结果(ebay)的一般信息都会有所帮助。
最佳答案
请考虑使用占位符,而不是将 GET 参数直接传递到 SQL 中 - 这里有一篇很好的文章,我建议您看一下:
How can I prevent SQL injection in PHP?
但是 - 这应该可行(但并不理想)
SELECT DISTINCT subcat2
, detail
, ( SELECT cat3_descr
FROM subcategory3
WHERE subcat_id = ?
) AS cat3_descr
FROM subcategory2
WHERE subcat_id = ?
ORDER BY subcat2 ASC
这并不完美,因为它必须执行内联子查询 - 最好将它加入到你的 subcategory2 表上,但我想你会遇到一些 DISTINCT subcat2 的 GROUPing 问题(假设它不是唯一的 - 在这种情况下,您是否需要对 subcat2 进行分组?)
关于php - 尝试将多个项目发布到表单提交 PHP 的下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29635936/