dongtang3155 2018-04-12 20:03
浏览 102

从mySQLi Query创建数组以在php中显示

I think it's better to ask these questions in parts rather than as one big question. This is a continuation on a previous question that was resolved. I have the following query that extracts the country and the count for each country.

$query = mysqli_query($con, "SELECT COUNT(id) AS countCnt, country FROM users GROUP BY country ORDER BY COUNT(id) DESC");

I'm trying to get these in an array as follows so I can assign them as variables:

$country_text = ['USA', 'Canada', 'England', 'Australia', 'New Zealand', etc...];
$country_count = [15, 10, 5, 3, 2, etc...];

Once these are assigned I want to display them as follows:

    for($i = 0; $i < 195; $i++) {

    echo "['{$country_text[$i]}'" . "," . "{$country_count[$i]}],";
}

These three code snips together are it's entirety. The challenge I'm having is in creating the arrays & assigning them as variables. Any help would be greatly appreciated.

  • 写回答

2条回答 默认 最新

  • douping3860 2018-04-12 20:09
    关注

    You can achieve this with:

    //do a query and run
    $query = mysqli_query($con, "SELECT COUNT(id) AS countCnt, country FROM users GROUP BY country ORDER BY COUNT(id) DESC");
    
    $countries = [];
    
    //iterate through values from query
    while($row = mysqli_fetch_assoc($query)) {
        $country = $row['country'];
        $countryCount = $row['countCnt'];
        //create and array with data, formatted as ['USA' => '15', 'Canada' => '10' , ...]
        $countries[$country] = $countryCount;
    }
    
    //Create both arrays
    $country_text = array_keys($countries);
    $country_count = array_values($countries);
    

    Or, instead of doing

    for($i = 0; $i < 195; $i++) {
        echo "['{$country_text[$i]}'" . "," . "{$country_count[$i]}],";
    }
    

    You can do

    foreach($countries as $country => $count) {
        echo "[".$country." ," .$count."],";
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab