Php 如何将静态值分配到查询结果中-codeigniter
因此,我有一个网站,它有一个选择框,其中包含:Php 如何将静态值分配到查询结果中-codeigniter,php,codeigniter,Php,Codeigniter,因此,我有一个网站,它有一个选择框,其中包含: 1 2 3 4 但我想将它们更改为静态值,如: Travel Housing Gourmet Medical 数据库中没有指定的字段名,如Travel等。它纯粹是数字。所以我必须分配代表每个数字的静态值 数据库中唯一的字段名是id、行业id、公司名称。我在上面指定的(数字1-4)是industry\u id 在我的控制器中: $params["filter"] = $this->Users->get_category(); $sq
1
2
3
4
但我想将它们更改为静态值,如:
Travel
Housing
Gourmet
Medical
数据库中没有指定的字段名,如Travel等。它纯粹是数字。所以我必须分配代表每个数字的静态值
数据库中唯一的字段名是id、行业id、公司名称
。我在上面指定的(数字1-4)是industry\u id
在我的控制器中:
$params["filter"] = $this->Users->get_category();
$sql = "SELECT industry_id FROM company GROUP BY industry_id ORDER BY industry_id ASC";
$query = $this->db->query($sql);
return $query->result();
<select class="form-control" name="field">
<?php foreach($filter as $cat)
{
echo '<option value="'.$cat->industry_id.'">'.$cat->industry_id.'</option>';
}
?>
</select>
型号:
$params["filter"] = $this->Users->get_category();
$sql = "SELECT industry_id FROM company GROUP BY industry_id ORDER BY industry_id ASC";
$query = $this->db->query($sql);
return $query->result();
<select class="form-control" name="field">
<?php foreach($filter as $cat)
{
echo '<option value="'.$cat->industry_id.'">'.$cat->industry_id.'</option>';
}
?>
</select>
查看:
$params["filter"] = $this->Users->get_category();
$sql = "SELECT industry_id FROM company GROUP BY industry_id ORDER BY industry_id ASC";
$query = $this->db->query($sql);
return $query->result();
<select class="form-control" name="field">
<?php foreach($filter as $cat)
{
echo '<option value="'.$cat->industry_id.'">'.$cat->industry_id.'</option>';
}
?>
</select>
我怎么做?
<?php
$a = array();
$b = ['Travel', 'Housing', 'Gourmet','Medical'];
$i = 0;
foreach ($filter as $cat) {
$a[$cat->industry_id] = $b[$i];
$i++;
}
?>
<select class="form-control" name="field">
<?php foreach ($a as $k => $val) {
echo '<option value="' . $k . '">' . $val . '</option>';
}
?>
</select>
那怎么办
$sql = "SELECT industry_id, CASE WHEN industry_id = 1 THEN 'Travel' WHEN industry_id = 2 THEN 'Housing' WHEN industry_id = 3 THEN 'Gourmet' WHEN industry_id = 4 THEN 'Medical' END AS industry_description FROM company GROUP BY industry_id ORDER BY industry_id ASC";
请注意,如果industry_id是INT,则此代码应该可以工作-如果它是VARCHAR,则必须使用,例如当industry_id='1'时
在您看来,您只需访问行业描述
<select class="form-control" name="field">
<?php foreach($filter as $cat)
{
echo '<option value="'.$cat->industry_id.'">'.$cat->industry_description.'</option>';
}
?>
</select>
那怎么办
$sql = "SELECT industry_id, CASE WHEN industry_id = 1 THEN 'Travel' WHEN industry_id = 2 THEN 'Housing' WHEN industry_id = 3 THEN 'Gourmet' WHEN industry_id = 4 THEN 'Medical' END AS industry_description FROM company GROUP BY industry_id ORDER BY industry_id ASC";
请注意,如果industry_id是INT,则此代码应该可以工作-如果它是VARCHAR,则必须使用,例如当industry_id='1'时
在您看来,您只需访问行业描述
<select class="form-control" name="field">
<?php foreach($filter as $cat)
{
echo '<option value="'.$cat->industry_id.'">'.$cat->industry_description.'</option>';
}
?>
</select>
Sooo旅行等名称的字段名是什么。。。将其添加到“选择”中,并在使用名称的id和显示创建选项列表时使用它。@TimBrownlaw抱歉,我忘了指定数据库中没有名称的字段名,如Travel等。。这仅仅是一个数字,所以你有一个没有意义的行业ID的表?你不知道身份证是干什么用的???我不相信。。。必须有一些与这些ID“相关”的描述。@TimBrownlaw数据库中唯一的字段名是ID、行业ID、公司名称。我在上面指定的那个(数字1-4)是行业id。所以你更新了你的问题,说没有任何这样的名字。。。你怎么知道它们是什么?这样做的唯一方法是创建一个具有ID和名称的表并使用它:)还有其他表吗?那么名称的字段名是什么,比如Travel等等。。。将其添加到“选择”中,并在使用名称的id和显示创建选项列表时使用它。@TimBrownlaw抱歉,我忘了指定数据库中没有名称的字段名,如Travel等。。这仅仅是一个数字,所以你有一个没有意义的行业ID的表?你不知道身份证是干什么用的???我不相信。。。必须有一些与这些ID“相关”的描述。@TimBrownlaw数据库中唯一的字段名是ID、行业ID、公司名称。我在上面指定的那个(数字1-4)是行业id。所以你更新了你的问题,说没有任何这样的名字。。。你怎么知道它们是什么?这样做的唯一方法是创建一个具有ID和名称的表并使用它:)还有其他表吗?非常优雅,可以很好地将所有内容放在一起:)非常优雅,可以很好地将所有内容放在一起:)