хотите извлечь подстроку из последнего идентификатора - PullRequest
0 голосов
/ 08 сентября 2018

Я хочу извлечь подстроку из идентификатора, чтобы получить последние 3 например: PD1920005 - IDPSB

Я хочу получить последние 3 цифры (005) из последнего идентификатора.

вот код

    <?php
    include 'koneksi.php';

         $query=mysqli_query($db,"SELECT MAX(id) FROM psbsmp");
         $data=mysqli_fetch_array($query);
         $id= $data['id'];

                $psba=mysqli_query($db,"SELECT RIGHT(idpsb, 4) FROM psbsmp WHERE id='$id'");
                $data2=mysqli_fetch_array($psba);



            echo $data2;
?>

но я получаю следующие результаты:

Примечание: неопределенный индекс: идентификатор в C: \ xampp \ htdocs \ Template \ Login_v2 \ Login_v2 \ tes.php в строке 12

Что я должен сделать для этого? Пожалуйста, дайте мне знать любой возможный способ.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Вы можете использовать этот код, предполагая, что у вас есть предопределенный формат, такой же, как эта строка. Вы должны изменить это в соответствии с вашими потребностями.

    $string='PD1920005 - DPSB';
    $string=str_replace(' ','',$string);
    $strArray=explode('-',$string);
    $numberToBeExtractedFrom=$strArray[0];
    preg_match_all('/\d+/', $numberToBeExtractedFrom, $numbers);
    $numbersString=$numbers[0][0];
    $id=substr($numbersString, -3);
    echo $id;
0 голосов
/ 08 сентября 2018

Непосредственное решение вашей проблемы - псевдоним MAX(id):

$query = mysqli_query($db,"SELECT MAX(id) AS max_id FROM psbsmp");
$data = mysqli_fetch_array($query);
$id = $data['max_id'];

Но вам даже не нужны два отдельных запроса:

SELECT RIGHT(idpsb, 4)
FROM psbsmp
WHERE id = (SELECT MAX(id) FROM psbsmp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...