Ben benim veritabanı bu görünebilir aynı satır içinde farklı sanatçılar ve şarkı başlıkları ile kurulmuş bir web sitesi var:
artist: The Monkees, title: I'm A Believer
artist: The Monkees, title: Daydream Believer
artist: The Hollies, title: The Air That I Breathe
artist: The Hollies, title: Bus Stop
artist: The Beatles, title: Hello, Goodbye
artist: The Beatles, title: Yellow Submarine
Ve ben 'artist' değerleri ile dolu bir json_encoded dizi beslenir sitemin arama formu ile kurulmuş bir otomatik tamamlama widget'ı var.
İlk sorun, bir kullanıcı "" arama forma yazmaya başlamak olsaydı, değerleri bu gibi yukarı gelirdi ki:
The Monkees
The Monkees
The Hollies
The Hollies
The Beatles
The Beatles
Yani yinelenen değerleri kaldırmak için array_unique fonksiyon kullanılır, ancak bir değer, bir kelime çoğaltmak (bu durumda "" olarak) olsa bile, bu yüzden sadece ilk değer döndürülür, tamamen çıkarıldığından emin görünüyor:
The Monkees
Nerede istiyorum çıkış olacaktır:
The Monkees
The Hollies
The Beatles
Peki, ben bu yinelenen değerleri kaldırmak ve onları ben istiyorum yol göstermek başka bir yolu olabilir?
EDIT:
İşte benim kaynak kodu:
<?php
include 'includes/config.php';
$return_arr = array();
$term = ($_GET['term']);
if ($con)
{
$artist = mysql_query("SELECT * FROM songs WHERE artist LIKE '%$term%' LIMIT 0, 5");
while ($row = mysql_fetch_array($artist, MYSQL_ASSOC)) {
$row_array['value'] = strtolower($row['artist']);
array_push($return_arr,$row_array);
}
}
mysql_close($con);
echo json_encode(array_unique($return_arr));
?>