Php 在从数据库中提取的下拉框中格式化数据?
我有以下代码片段:Php 在从数据库中提取的下拉框中格式化数据?,php,mysql,Php,Mysql,我有以下代码片段: <li> <label>Engine Size:</label> <select name="engine"> <?php $sql = mysql_query("SELECT DISTINCT BikeEngine FROM bikes " . "ORDER BY BikeEngine ASC"); while ($row =
<li>
<label>Engine Size:</label>
<select name="engine">
<?php
$sql = mysql_query("SELECT DISTINCT BikeEngine FROM bikes "
. "ORDER BY BikeEngine ASC");
while ($row = mysql_fetch_array($sql)) {
echo "<option>" . $row['BikeEngine'] . "cc" . "</option>";
}
?>
</select>
</li>
控制器:
function search() {
$this->load->helper(array('form', 'url')); //without this form will not display
if ($this->input->post())
{
$brand = $this->input->post('brand');
$engine = $this->input->post('engine');
$this->load->model("mbikes");
$data['results'] = $this->mbikes->searchBikes($brand, $engine);
$this->load->view('searchresults.php', $data);
}
else
{
$this->load->view('search.php'); //display success view
}
}
选项值可以与其显示内容不同:
echo "<option value=". $row['BikeEngine'] .">" . $row['BikeEngine'] . "cc" . "</option>";
我懂了。由于我正在从数据库下拉列表中提取选项,是否可以添加一个Any选项来返回所有具有任何引擎大小的产品,而不是强制用户搜索细节?@user35542确实是这样,但我必须查看进行搜索的php以给出准确的答案。基本上,您可以在while循环上方创建任意引擎元素。然后以handleing代码的形式检查值是“any”还是一个数字,并进行相应的处理。使用这些信息,我猜$engine='any'{$this->db->all}其他{$this->db->like'BikeEngine',$engine}虽然我没有使用codeignitor,所以我不知道全选的语法是什么,请编辑你的问题以显示完整的代码,因为很难从中的几个片段中找出答案comments@user3554442乍一看还行。您是否检查过它不是大小写问题。例如,检查“Any”,但可能发送的是“Any”//小写A@LorenzMeyer这一评论是关于另一篇文章的——不知道它是如何在这篇文章上结束的。
echo "<option value=". $row['BikeEngine'] .">" . $row['BikeEngine'] . "cc" . "</option>";