php中,怎样在文本框里输入字母,然后根据字母在数据库中模糊查询所有首字母为文本框输入的字母的值

根据“A”查询数据库中所有汉字首字母为“A”的数据... 根据“A”查询数据库中所有汉字首字母为“A”的数据 展开
 我来答
meijin5
2011-10-27 · TA获得超过222个赞
知道答主
回答量:115
采纳率:0%
帮助的人:151万
展开全部
<?php
include('Common/db.php'); //数据库连接类
$db=new DB();
$shouzimu=strtoupper("r"); //传过来的参数
$arr=$db->get_all("SELECT * FROM [user]");
foreach($arr as $rs){
$panduan=ff_letter_first($rs['uname']);//调用下面的方法
if($panduan==$shouzimu){
print_r($rs);
}

}

//生成字母前缀
function ff_letter_first($s0){
$firstchar_ord=ord(strtoupper($s0{0}));
if (($firstchar_ord>=65 and $firstchar_ord<=91)or($firstchar_ord>=48 and $firstchar_ord<=57)) return $s0{0};
$s=iconv("UTF-8","gb2312", $s0);
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319 and $asc<=-20284)return "A";
if($asc>=-20283 and $asc<=-19776)return "B";
if($asc>=-19775 and $asc<=-19219)return "C";
if($asc>=-19218 and $asc<=-18711)return "D";
if($asc>=-18710 and $asc<=-18527)return "E";
if($asc>=-18526 and $asc<=-18240)return "F";
if($asc>=-18239 and $asc<=-17923)return "G";
if($asc>=-17922 and $asc<=-17418)return "H";
if($asc>=-17417 and $asc<=-16475)return "J";
if($asc>=-16474 and $asc<=-16213)return "K";
if($asc>=-16212 and $asc<=-15641)return "L";
if($asc>=-15640 and $asc<=-15166)return "M";
if($asc>=-15165 and $asc<=-14923)return "N";
if($asc>=-14922 and $asc<=-14915)return "O";
if($asc>=-14914 and $asc<=-14631)return "P";
if($asc>=-14630 and $asc<=-14150)return "Q";
if($asc>=-14149 and $asc<=-14091)return "R";
if($asc>=-14090 and $asc<=-13319)return "S";
if($asc>=-13318 and $asc<=-12839)return "T";
if($asc>=-12838 and $asc<=-12557)return "W";
if($asc>=-12556 and $asc<=-11848)return "X";
if($asc>=-11847 and $asc<=-11056)return "Y";
if($asc>=-11055 and $asc<=-10247)return "Z";
return 0;//null
}

?>

参考资料: 看不懂q我864101699

njumwx
2011-10-27 · TA获得超过327个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:437万
展开全部
建立个首字母字段,查询首字母字段
追问
还有别的方法么,比如说不用动数据表可以用代码直接处理么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzxassj
2011-10-27 · TA获得超过695个赞
知道小有建树答主
回答量:738
采纳率:0%
帮助的人:599万
展开全部
select * from table where username like 'A%'
追问
可能我表答的不是很准确,查询的不是“A”开头的字,而是首字母以“A”开头的字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式