比方说,我有以下代码:订购一个MySQL查询按字母顺序
SELECT * FROM table where company LIKE '%Auto%'
我得到更多的结果,我想有一个选项,结果按字母顺序排序,让我们说,用户希望对以“C”开头的搜索结果进行排序!
最好的问候,
比方说,我有以下代码:订购一个MySQL查询按字母顺序
SELECT * FROM table where company LIKE '%Auto%'
我得到更多的结果,我想有一个选项,结果按字母顺序排序,让我们说,用户希望对以“C”开头的搜索结果进行排序!
最好的问候,
好吧,看来你在谈论两件不同的事情。如果你有兴趣的排序,你会需要使用ORDER BY子句:如果你想过滤由以字母“C”开头的项成果
SELECT * FROM table ORDER BY name
那么你会希望添加其他的LIKE子句那封信:
SELECT * FROM table where company LIKE '%Auto%' AND name LIKE 'C%'
此外,你会发现,名称过滤器不仅具有查询后%
。这是语法
使用ORDER BY
子句:
SELECT *
FROM table
where company LIKE '%Auto%'
order by company
添加ORDER BY company
,假设你想在公司的价值进行排序。
试试吧.....我的工作示例 排序alphetical为了ABCD记录 .... z。如果我点击字母那么它“开头”显示所有名称以字母开始,单击C字母,然后它显示所有的名字开始与字母C
<?php
$host = "localhost";
$user = "root";
$pw = "";
$database = "test";
$con = mysql_connect($host,$user,$pw)
or die("Cannot connect to mySQL.");
mysql_select_db($database,$con)
or die("Cannot connect to database.");
$errormsg= "No Record Found...!";
$alpha="%";
if (isset($_REQUEST['alpha'])) {
$alpha = $_REQUEST['alpha']."%";
}
$q1 = mysql_query("select * from registration where firstname like '$alpha%' ");
?>
<div >
<form action="" method="post" >
<table >
<td><div style="float:left;">
<CENTER>
<FONT COLOR=Green>Sort by Alphabet:</FONT>
<A HREF="<?php echo $_SERVER['PHP_SELF']; ?>">All</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=A">A</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=B">B</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=C">C</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=D">D</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=E">E</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=F">F</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=G">G</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=H">H</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=I">I</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=J">J</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=K">K</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=L">L</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=M">M</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=N">N</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=O">O</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=P">P</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=Q">Q</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=R">R</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=S">S</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=T">T</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=U">U</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=V">V</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=W">W</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=X">X</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=Y">Y</A>
<FONT COLOR=Green>|</FONT> <A HREF="?alpha=Z">Z</A>
</CENTER>
</div>
</td></tr>
<tbody>
<?php
$i=1;
$num_rows=mysql_num_rows($q1);
if($num_rows==0)
{
?>
<div align="center">
<div class="alert alert-danger alert-dismissable">
<?php echo $errormsg; ?></div>
</div>
<?php
}
else
{
while($roww=mysql_fetch_array($q1))
{
?>
<tr>
<td><div style="height:100px;float:left;">
<input name="" type="checkbox" value="">
</div>
<div><a href="#"> <b><?php echo $roww["firstname"]; ?></b></a><br />
: <?php echo $roww["firstname"]; ?><br />
<?php echo $roww["lastname"]; ?><br />
<?php echo $roww["gender"]; ?><br />
</div></td>
</tr>
<?php }
$i++;
}
?>
</tbody>
</table>
</form>
</div>
</body></html>
<SCRIPT LANGUAGE=JavaScript>
<!--
document.write(ALPHABET())
//-->
</SCRIPT>
CREATE TABLE IF NOT EXISTS `registration` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(20) NOT NULL,
`lastname` varchar(20) NOT NULL,
`gender` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
运行的代码
如果您不必使用'%Auto%',则不能使用索引,但如果列上存在索引,但Auto%将会使用索引。 – 2010-01-05 02:01:38