#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 ;
}