получите номер индекса данных, полученных из базы данных mysql

#php #mysql #arrays

Вопрос:

Я пытаюсь получить все пользовательские данные из моей таблицы mysql, и я хочу проверить номер индекса, в котором находятся конкретные данные, например, если в базе данных 10 пользователей, и после получения данных из нее я хочу проверить, совпадает ли какой-либо идентификатор пользователя с тем, который у меня есть, а затем получить номер индекса, в котором он находится. если его данные находятся под номером 4 или 8

     $userId= '****';
    $active = 'active';
    $sql = $conn->prepare("SELECT * FROM users WHERE status=? ORDER BY date DESC, class DESC");
    $sql->bind_param("s", $active);
    $sql->execute();
    $res = $sql->get_result();
    if (mysqli_num_rows($res) > 0) {
        while ($row = $res -> fetch_assoc()) {
            if($userId == $row['userId']) {

               ///Get the number he is in the array of 10 users...

            }
        }
    }
    else {
        echo json_encode("no_user");
    }
 

Комментарии:

1. Что вы подразумеваете под «порядковым номером»?

2. Если в таблице есть столбец идентификатора автоматического увеличения, этот столбец должен соответствовать вашим требованиям.

3. @Barmar я приказ, поэтому я не могу использовать это, потому что это будет перемешано и то, что я подразумеваю под порядковыми номерами, где его поместили в $row массив, который начинается с 0, 1, 2, ... 9 и я хочу проверить, какой из них имеет идентификатор, который соответствует одной ищу и что ее порядковый номер

4. $row является ассоциативным массивом столбцов, а не массивом строк.

Ответ №1:

Увеличьте переменную счетчика в цикле.

         $index = 0;
        while ($row = $res -> fetch_assoc()) {
            if($userId == $row['userId']) {
               echo $index;
            }
            $index  ;
        }