我有一个下拉列表:
<form name="alphasearch" action="ialphalist.php" method="get">
<select style='font-size:26px;height:30px;width:540px;' name='alphasearch' onchange='this.form.submit()'>
<option value="">Select the First letter of the Business Name</option>
<option value="REGEXP'^[0-9]'">0-9</option>
<option value="a%">A</option>
<option value="b%">B</option>
<option value="c%">C</option>
这是ialphalist.php的一个片段:
list($categoriesRecords, $categoriesMetaData) = getRecords(array(
'tableName' => 'categories',
'perPage' => '5',
'loadUploads' => false,
'allowSearch' => true,
'where' => "Bus_name LIKE '$_GET[alphasearch]'",
'orderBy' => 'Bus_name',
字母(A,B,C等)按预期显示结果,如果第一个字符是数字,我试图让它工作。我认为使用&#34; REGEXP&#34;声明应该工作,也许我有格式错误?我需要做些什么才能让它发挥作用?
答案 0 :(得分:1)
试试这个: -
list($categoriesRecords, $categoriesMetaData) = getRecords(array(
'tableName' => 'categories',
'perPage' => '5',
'loadUploads' => false,
'allowSearch' => true,
'where' => "Bus_name REGEXP '^[a-zA-Z].*'",
'orderBy' => 'Bus_name',
编辑:通过网页指定条件
$regex = "'^".$_GET[alphasearch][0]."'";
list($categoriesRecords, $categoriesMetaData) = getRecords(array(
'tableName' => 'categories',
'perPage' => '5',
'loadUploads' => false,
'allowSearch' => true,
'where' => "Bus_name REGEXP $regex",
'orderBy' => 'Bus_name',
这将获得以字母(小或高)开头的所有总线名称。
[a-zA-Z] =&gt;字母
。 =&GT;单个字符(数字,字母或其他)
。* =&gt;第一个字母后的字符可以是零或更多。
希望它有所帮助。