I’ve got the following code:
$get_countries = "SELECT country FROM blahs WHERE country IS NOT NULL ORDER BY country";
$data_get_countries = mysqli_query($dbc, $get_countries);
while ($row_get_countries = mysqli_fetch_array($data_get_countries)) {
$country_tabs = array_unique($row_get_countries);
foreach ($country_tabs as $country_tab) {
echo '<div>' . $country_tab . '</div>';
var_dump($country_tab);
var_dump($country_tabs);
}
}
For now the var_dump($country_tab) outputs:
string 'DE' (length=2)
string 'GB' (length=2)
string 'SE' (length=2)
string 'US' (length=2)
string 'US' (length=2)
string 'US' (length=2)
string 'US' (length=2)
and the var_dump($country_tabs):
array
0 => string 'DE' (length=2)
array
0 => string 'GB' (length=2)
array
0 => string 'SE' (length=2)
array
0 => string 'US' (length=2)
array
0 => string 'US' (length=2)
array
0 => string 'US' (length=2)
array
0 => string 'US' (length=2)
The thing that I want to achieve is to make my code to not show the same countries!
array_unique($country_tabs) doesn’t work because I have more arrays in the output.
You are probably better off getting the unique values in the database query like this:
Note that I added the DISTINCT keyword to do what you are looking to do.