при нажатии ссылки отображается строка с первым символом в диапазоне от 0 до 9

0

Я пытаюсь отобразить строку из моей базы данных, где первый символ находится между 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>
Теги:
string
replace
explode

2 ответа

0

Ваш код в настоящее время ищет вашу базу данных для Array так как вы explode() ' $_REQUEST['num'], который возвращает массив.

Вы можете создать диапазон чисел из вашего $num а затем сделать несколько LIKE или попробовать с REGEXP.

0

Используйте функцию REGEXP в MySQL для соответствия 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'] на основе разделителей -.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню