Прошло некоторое время ... на самом деле это еще один упрощенный вопрос к проблеме, которую я опубликовал ранее. Я пытаюсь отобразить страну и рассчитать по следующему запросу:
$query = mysqli_query($con, "SELECT COUNT(id), country FROM users GROUP BY country ORDER BY COUNT(id) DESC");
while ($row = mysqli_fetch_array($query)) {
$countries = $row['country'];
echo $countries;}
Что я получаю в результате, так это страны, перечисленные от самого высокого до самого низкого, но рядом с ним не отображается счетчик. Я знаю, что они суммированы в запросе, как мне настроить таргетинг на число и назначить его переменной php для отображения?
Любая помощь будет оценена по достоинству.






Вы не назначаете переменную.
Сделайте это: $count = $row['COUNT']; и повторите его. Он должен работать
Согласен с @MonkeyZeus
Вы можете использовать псевдоним для столбца COUNT, а затем ссылаться на него в массиве, возвращаемом mysqli_fetch_array для каждой строки.
$query = mysqli_query($con, "SELECT COUNT(id) AS countryCount, country FROM users GROUP BY countryCount ORDER BY countryCount DESC");
while ($row = mysqli_fetch_array($query)) {
$count = $row['countryCount'];
$countries = $row['country'];
echo $count;
echo $countries;}
Вам нужно добавить псевдоним в запросе для COUNT(id), как показано ниже: -
$query = mysqli_query($con, "SELECT COUNT(id) as count, country FROM users GROUP BY country ORDER BY count DESC");
Теперь немного измените код цикла while(): -
while ($row = mysqli_fetch_assoc($query)) { // _assoc for lighter array iteration
$countries = $row['country'];
$countries_count = $row['count'];// get count of each country
echo $countries.'--'.$countries_count ;// show country and it's count both
}
Это то, что вы пытаетесь сделать: -
$query = mysqli_query($con, "SELECT COUNT(id) AS total_country, country FROM users GROUP BY country ORDER BY id DESC");
while ( $row = mysqli_fetch_array( $query ) )
{
$countries = $row['country'];
$total_countries = $row['total_country'];
echo "<p>{$countries}</p>;
echo "<p>Total count: {$total_countries}</p>";
}
COUNT (is) AS ...! :) Спасибо. Новое в sqli.
OP не разместил псевдоним
count()своего запроса в столбце с именем count, поэтому это не сработает. DV не от меня, увы