在点击链接显示字符串上,第一个字符在0-9之间

时间:2014-11-07 19:27:26

标签: php string replace explode

我试图在我的数据库中显示一个字符串,其中第一个字符在0到9之间我尝试了但是仍然无法在下面工作,我的代码帮助我了。谢谢。

if(isset($_REQUEST['num'])){ $num = explode('-',$_REQUEST['num']);
$query1 = "SELECT usercode FROM user WHERE code like '".$num."%'" ORDER BY id DESC ";
    $result1 = mysql_query ($query1) or die('query error');
    while( $line1 = mysql_fetch_assoc($result1)){
    echo $line1[usercode];
    }

<a href="home.php?num=<?php echo urlencode('0-9');?>">#</a>

2 个答案:

答案 0 :(得分:0)

您的代码目前正在您的数据库中搜索Array,因为您explode()正在$_REQUEST['num'],它会返回一个数组。

您可能希望从$num创建一系列数字,然后执行多个LIKE或尝试使用REGEXP

答案 1 :(得分:0)

使用MySQL中的REGEXP函数将code^[0-9]匹配,这意味着:“第一个字母必须介于0到9之间”,而在ASCII中,它们恰好是数字在0到9之间。

这将做你想要的:

<?php
if (isset($_REQUEST['num'])) {
    $num = explode('-', $_REQUEST['num']);
    $query1 = "SELECT usercode FROM user WHERE code REGEXP '^[" . $num[0] . "-" . $num[1] . "]' ORDER BY id DESC";
    $result1 = mysql_query ($query1) or die('query error');
    while ($line1 = mysql_fetch_assoc($result1)) {
        echo $line1['usercode'];
    }
}
?>

<a href="home.php?num=<?php echo urlencode('0-9'); ?>">#</a>

cOle2对于爆炸功能也是正确的。它返回一个数组,其元素是由某个分隔符标记的输入字符串。在您的情况下,$_REQUEST['num']基于分隔符-