Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Usuwanie zduplikowanych rekordów, różniących się tylko id
Forum PHP.pl > Forum > Przedszkole
Pomurnik
Mam linki w formacie:

  1. http://www.wp.pl/artykuły-medycyna-1234-nazwa_danego_artykułu


Niestety w bazie czasami mam kilka takich samych artykułów różniących się tylko id (1234).
Chciałbym się ich pozbyć na zasadzie takiej, że jeśli link różni się od innego tylko id, np:

  1. http://www.wp.pl/artykuły-medycyna-1234-nazwa_konkretnego_artykułu
  2. <a href="http://www.wp.pl/artykuły-medycyna-5678-nazwa_konkretnego_artykułu" target="_blank">http://www.wp.pl/artykuły-medycyna-5678-na...etnego_artykułu</a>


czyli nazwa artykułu jest taka sama, tylko id inne to wyświetlany jest tylko jeden link zamiast wszystkich.

Linki pobieram za bazy i wyświetlam w taki sposób:

$sql = "SELECT link (...) ";
$result1231 = mysql_query($sql);
while($row121 = mysql_fetch_array($result1231))
{

$row = $row121['link'];
echo '<a class="link" href="artykuły-medycyna-'.$row121['id'].'-'.$row.'" title="'.$row121['tytul'].'">'.$tytul2.'</a> <br />';

}

Reasumując, jak spowodować, żeby w zmiennej $row = $row121['link']; nie pojawiały się duplikaty linków, różniące się wyłącznie id ?
mat-bi
  1. DISTINCT
-Gizmo-
Nie może być DISTINCT, bo link jest składany po pobraniu danych z bazy więc trzeba to zrobić w php.
Trzeba by jakoś za pomocą preg_match sprawdzać czy linki różnią się tylko id, ale jak to zrobić w tej sytuacji ?
-Gizmo-
Sory, ale troszkę, źle wytłumaczyłem jaki efekt chcę uzyskać.
To nie w/w zmienna pobierana bezpośrednio z bazy ma być unikalna, tylko link tworzony na jej podstawie, a konkretnie część href:

href="artykuły-medycyna-'.$row121['id'].'-'.$row.'"

Trzaba to zwinąć do zmiennej:

href="$href"
a
$href="artykuły-medycyna-'.$row121['id'].'-'.$row.'"

Jak spowodować, żeby $href się nie powtarzała (czyli różniła tylko id) ?
Daimos
Możesz złożyć go w locie za pomocą zapytania, ewentualnie zrobić tak, że kiedy w pętli generujesz każdy link, wrzucasz go do tablicy i za każdym razem sprawdzasz, czy w tej tablicy "już" taki istnieje. Wtedy usuwasz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.