如何使用 php 将循环结果存储到数组


How to store while loop result to array using php

我有一个mysql查询,它从数据库返回匹配数据。我需要将匹配的结果数据存储到这样的$autocompletiondata

$autocompletiondata =  array(
        1 => "shibbir",
        2 => "ahmed",
        3 => "babu",
        4 => "rahim",
        5 => "shakil",
);

SQL查询:

$sql = mysqli_query($link, "SELECT cdid, family_name FROM contact_details WHERE     
family_name LIKE '%$term' ");
while($res = mysqli_fetch_array($sql)){
    $cdid = $res['cdid'];
    $fname = $res['family_name'];    
    $autocompletiondata =  array(
        $cdid => "$fname");
}

如何将所有匹配数据存储到关联数组?请帮忙。

你能试试这个吗?

$autocompletiondata = array();
while($res = mysqli_fetch_array($sql)){
    $cdid = $res['cdid'];
    $fname = $res['family_name'];    
    $autocompletiondata[$cdid] =  $fname;
}
while($res = mysqli_fetch_array($sql)){
  $cdid = $res['cdid'];
  $fname = $res['family_name'];    
  $autocompletiondata[$cdid] = $fname; // <== make this change to your code
}

试试这个

$sql = mysqli_query($link, "SELECT cdid, family_name FROM contact_details WHERE     
family_name LIKE '%$term' ");
while($res = mysqli_fetch_array($sql)){
    $cdid = $res['cdid'];
    $fname = $res['family_name'];    
    $autocompletiondata[$cdid] = $fname;
}

并打印数组

print_r($autocompletiondata);

它很简单,只需使用以下代码

$autocompletiondata =  array();
$sql = mysqli_query($link, "SELECT cdid, family_name FROM contact_details WHERE     
family_name LIKE '%$term' ");
while($res = mysqli_fetch_array($sql)){
    $cdid = $res['cdid'];
    $fname = $res['family_name'];    
    $autocompletiondata[$cdid] = $fname;
}

希望这对你有帮助

只需将数据设置为 $autocompletiondata:

$autocompletiondata = array();
while($res = mysqli_fetch_array($sql)){
    $cdid = $res['cdid'];
    $fname = $res['family_name'];    
    $autocompletiondata [$cdid] = $fname;
}