Jawad Ajaz
Jawad Ajaz

Reputation: 9

Remove Duplicate Values From Select Option In PHP

here's the code and i want to echo only 1 city from mysql database!

<?php


include('db.php');

    $queryss = mysqli_query($conn, 'SELECT * FROM areas');

    while ($rowx = mysqli_fetch_array($queryss)) {


        echo "{pro:'$rowx[1]',city:'$rowx[2]', dist:'$rowx[3]', town:'$rowx[4]', area:'$rowx[5]',subarea:'$rowx[6]',ucname:'$rowx[7]'},";

    }

    ?>

and i'm, getting this input here! 3 time karachi in my html, but i want only 1 of this city. SELECT DISTINCT is working in mysql but how can i use it in PHP?

enter image description here

Upvotes: 0

Views: 2205

Answers (3)

Mahmoud Ramadan
Mahmoud Ramadan

Reputation: 662

First Solution

You can insert distinct keyword into your SQL to accomplish what you need, like so

SELECT DISTINCT your_column_name FROM table_name

Second Soltion

You can execute your SQL statement and then use array_unique, to be like so

$selectStatement = mysqli_query($con, 'SELECT * FROM areas');

$selectedArrayValues = mysqli_fetch_array($selectStatement);

$selectedUniqueArrayValues = array_unique(selectedArrayValues);

// Then return that array to your HTML code

I recommend the first solution because it's more optimized

Upvotes: 0

Rajesh
Rajesh

Reputation: 30

Your query should be

SELECT * FROM areas GROUP BY id

I have tested it.

Upvotes: 1

Iarwa1n
Iarwa1n

Reputation: 460

Use

SELECT DISTINCT column_name1,column_name2 FRAM areas

in your SQL where column_nameN stands for the columns you need for your output.

OR use something like this (untested):

$results = [];
while ($rowx = mysqli_fetch_array($queryss)) {
    $results[] = $rowx;
}
$results= array_unique($results);
foreach($results as $rowx) {
    echo "{pro:'$rowx[1]',city:'$rowx[2]', dist:'$rowx[3]', town:'$rowx[4]', area:'$rowx[5]',subarea:'$rowx[6]',ucname:'$rowx[7]'},";
}

Upvotes: 0

Related Questions