【问题标题】:PHP Dropdownlist form with mysql带有mysql的PHP下拉列表表单
【发布时间】:2015-02-22 02:22:47
【问题描述】:

嘿,我即将制作一个应该包含 4 个下拉列表的表单......我的下拉列表是指在 html/php 中选择 - 我正在考虑的“预览”,底部有一个链接,所以你可以得到更好地理解我在说什么。

我一直在寻找一些,我在教程中找到了这段代码,它正在工作,所有这些,但我希望有 4 个下拉列表,而不是只有 2 个。我看到一些没有查询字符串,但这段代码带有查询字符串,而且我不是最擅长 php,但我了解很多,这不是问题,但问题是,我想摆脱查询字符串并获得 2 个下拉列表,但我不知道方法去做吧。

再获得 2 个下拉列表不是问题,但要让 2 个下拉列表像底部的链接一样工作。

我希望它可以工作,所以我必须选择第一个下拉列表,而其余部分被禁用或只是空的,当我在第一个下拉列表中选择时,第二个下拉列表将被启用或填充与第一个类似的数据连接的数据,汽车和在下一个 BMW 等应该出现,然后当您在第二个下拉列表中选择时,第三个下拉列表将启用或填充数据,就像第二个一样,但是现在如果您选择 BMW,您应该选择像 M5 这样的模型或 M3 等,完成后,您将能够选择 M5 或 M3 的引擎或任何您选择的引擎。

///////// Getting the data from Mysql table for first list box//////////
$quer2="SELECT DISTINCT category,cat_id FROM category order by category"; 
///////////// End of query for first list box////////////

/////// for second drop down list we will check if category is selected else we will display all the subcategory///// 
if(isset($cat) and strlen($cat) > 0){
$quer="SELECT DISTINCT subcategory FROM subcategory where cat_id=$cat order by subcategory"; 
}else{$quer="SELECT DISTINCT subcategory FROM subcategory order by subcategory"; } 
////////// end of query for second subcategory drop down list box ///////////////////////////

echo "<form method=post name=f1 action='dd-check.php'>";
/// Add your form processing page address to action in above line. Example  action=dd-check.php////
//////////        Starting of first drop downlist /////////
echo "<select name='cat' onchange=\"reload(this.form)\"><option value=''>Select one</option>";
foreach ($dbo->query($quer2) as $noticia2) {
if($noticia2['cat_id']==@$cat){echo "<option selected value='$noticia2[cat_id]'>$noticia2[category]</option>"."<BR>";}
else{echo  "<option value='$noticia2[cat_id]'>$noticia2[category]</option>";}
}
echo "</select>";
//////////////////  This will end the first drop down list ///////////

//////////        Starting of second drop downlist /////////
echo "<select name='subcat'><option value=''>Select one</option>";
foreach ($dbo->query($quer) as $noticia) {
echo  "<option value='$noticia[subcategory]'>$noticia[subcategory]</option>";
}
echo "</select>";
//////////////////  This will end the second drop down list ///////////
//// Add your other form fields as needed here/////
echo "<input type=submit value=Submit>";
echo "</form>";
?>

就像我之前提到的,我一直在寻找一些结果,然后我也找到了这个。这就是我所说的,这没有查询字符串,并且正在做我想做的事。 我试过查看代码(F12),但找不到一些 php 或 javascript 或 jquery。

http://www.sedox-performance.com/tfconfigurator/dealers?lang=en&color=blue&bg=white&txt=black&title=blue

【问题讨论】:

  • 我不明白你真正想要什么。您提供的示例如何对您没有帮助?用你的话来说,它“正是我想做的”
  • 它也很好地帮助了我,但正如我在问题中提到的那样,我想摆脱查询字符串,就像链接一样。
  • 那么您打算如何填充下拉列表?我假设来自数据库/sql。
  • 是的,我要从 mysql 中获取数据,但我想按照上面代码中的描述进行操作。
  • javascript,见 zeuthenjr; zeuthenjr, javascript

标签: php mysql forms select


【解决方案1】:

相当多的方法可用。您希望根据先前的下拉选择过滤下拉选项,对吗?如果列表不是太长,则构建并将它们与页面加载一起发送,然后在父的选择事件上过滤子选项。否则,如果列表很长,则使用 AJAX 在父选择事件上拉取子列表。使用 JSON 传输和/或管理列表,使用 JQuery(或直接 JavaScript)动态填充和重新填充列表。

【讨论】:

  • 是的,你的想法/解决方案是对的,但我以前没有经历过,你有例子吗?
  • 嗨。我这样做了,但是将很多代码 sn-ps 放到一个示例中,并且不适合该论坛。查找如何进行 AJAX 和 json 调用(对 php 代码)并让 php 回显 json_encode(some_array);结果 JSON 数组/对象将到达 AJAX 调用的“success(obj){}”回调函数中。现在使用“obj”来构建您的&lt;option&gt; 列表。这是一个数组。对其他列表重复此操作。
  • 谢谢,听起来我可以使用它,但我以前没有体验过,所以我很“越野”,但你的解决方案听起来我可以使用它,但我想我在我真正理解之前需要一个关于它的教程
猜你喜欢
  • 1970-01-01
  • 2015-10-25
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多