Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pozbycie się duplikatów
Forum PHP.pl > Forum > PHP
stepien
Witam

Mam dwie tabele Nazwa Tematu i pliki w bazie danych

Rekordy wyglądają tak:

Temat 1 Plik 1
Temat 1 Plik 2
Temat 2 Plik 3
Temat 2 Plik 4

A che uzyskać na stronie coś takiego:

Temat 1:
1) Plik 1
2) Plik2
Temat 2:
1) Plik 3
2) Plik 4

Chcę się pozbyć podwójnej temat1 i temat2.

Jak coś takiego zrobić?

nospor
Musisz wpierw przygotowac dane i je pogrupowac (czy to w php czy tez bezposrednio w bazie) a potem poprostu wyswietlic
Tu masz to opisane na roznych przykladach
http://nospor.pl/grupowanie-wynikow.html
Neutral
  1. SELECT `Topic 1`,`Topic 2` FROM (SELECT (case when col1='Topic 1' then col2 end) AS `Topic 1` , (case when col1='Topic 2' then col2 end) AS `Topic 2` FROM stepien) AS x1;


  1. <?php
  2.  
  3. $dsn = 'mysql:dbname=forumphp;host=localhost';
  4. $user = 'root';
  5. $password = 'mystrongpass';
  6.  
  7. $dbh = new PDO($dsn,$user,$password);
  8.  
  9. $query = "select `Topic 1`,`Topic 2` from (select (case when col1='Topic 1' then col2 end) as `Topic 1` , (case when col1='Topic 2' then col2 end) as `Topic 2` from stepien) as x1;";
  10. $tmp = $dbh->query($query);
  11.  
  12. while($result[] = $tmp->fetch()){}
  13.  
  14. $a1=0;
  15. $a2=0;
  16. for($i=0;$i<count($result);$i++) {
  17. if($result[$i]['Topic 1']!==NULL) {
  18. $a1++;
  19. }
  20. if($a1==1) {
  21. echo 'Topic 1<br />';
  22. }
  23. if($result[$i]['Topic 2']!==NULL) {
  24. $a2++;
  25. }
  26. if($a2==1) {
  27. echo 'Topic 2';
  28. }
  29.  
  30. echo $result[$i]['Topic 1'];
  31. echo '<br />';
  32. echo $result[$i]['Topic 2'];
  33.  
  34. }
  35.  
  36. ?>
nospor
@Neutral to taki zart na prima aprilis czy jak? A co jesli tematow bedzie wiecej niz 2? A uwierz bedzie.... Albo co gdy temat nie bedzie sie juz nazywal "Topic 1" a "Topic zmieniony 1" ?
Poprawna odpowiedz juz padla. Po co wymyslasz na sile takie potworki?
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.