在网上阅读和查找后,我仍然不知道如何解决我的问题。我不可能这样做:
$select=mysql_query("select * from products_list categories where id='3'");
while($row=mysql_fetch_array($select)){
echo "whatever fields that I want to display onto the form before category field";
$select=mysql_query("select * from categories ORDER BY id ASC");
while($row=mysql_fetch_array($select)){
echo "compare with the result in categories table and select the option if it's true";
}
}
我对吗?
目前我在数据库 products_list 和类别中有 2 个表。
表 products_list 包含许多字段:ID、代码、价格、类别、状态等...
表类别只有:ID、类别(此表仅包含所有可用的类别选项集)
我有一个更新/编辑表单,我使用 select 语句并从 Table products_list 中获取用户之前保存所有数据的所有结果。
在表单本身的类别部分下是一个多选列表框。
我现在的问题是:
- 将 Table products_list 中的所有结果显示到更新/编辑表单上
- 将表格类别中的所有类别选项显示到更新/编辑表单(列表框)
- 比较用户在表 products_list 中保存的类别并选择列表框上显示的选项(这是第 2 个问题)
我真的需要很多帮助,因为我以前从未这样做过,也不知道在线阅读这些文章或线程会发生什么。希望你们能理解我的问题。提前致谢。
当前更新了编码,但仍然卡住:
$result2= mysql_query("SELECT category FROM categories ORDER BY id ");
$all_cat = array();
while($row2 = mysql_fetch_assoc($result2)) {
$all_cat[] = $row2['category'];
}
//dropdownlist query
$query="SELECT * from products_list where id='100'";
$result = mysql_query ($query);
//populate the dropdownlist
while($row = mysql_fetch_assoc($result)) {
$sel_cats = explode(",", $row['category']);
//determine if the category is selected
foreach ($sel_cats as $sel_cat){
$selected = '';
if ($sel_cat == $all_cat ){
$selected =' selected="selected" ';
break;
}
}
foreach($all_cat as $i => $value)
{
echo '<option value="' . $value. '"' . $selected . '>'.$value.'</option>\n';
}
}