Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pozbycie się duplikatów
stepien
post 16.05.2018, 10:51:24
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 19.07.2015

Ostrzeżenie: (0%)
-----


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ć?

Go to the top of the page
+Quote Post
nospor
post 16.05.2018, 10:55:09
Post #2





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Neutral
post 6.06.2018, 20:19:14
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 46
Dołączył: 10.01.2016

Ostrzeżenie: (0%)
-----


  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. ?>


Ten post edytował Neutral 6.06.2018, 20:20:06
Go to the top of the page
+Quote Post
nospor
post 7.06.2018, 09:11:58
Post #4





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




@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?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 00:03