Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlenie z bazy 1 raz
Destrudo
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 10.10.2011

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


Hej,

Zastanawiam się jak to zrobić, mianowicie: mam w bazie 3 rekordy w dwóch kolumnach (pole1 i pol2):

pole1 | pole2

xxxx | wwww
xxxx | treteter
gggg | gdfgg

I teraz chciałbym wartość kolumny pole1 wyświetlić tylko 1 raz, pomijając duplikaty, żeby postać powyższych danych przyjęła taką:

xxxx - wwww, treteter (czyli dane z dwóch pierwszych rekordów przy tej samej nazwie "xxxx")
gggg - gdfgg

czyli, żeby wartość pole2 była dokładana do jeden raz wyświetlonej wartości (mimo, że jest taka sama jak w rekordzie drugim.
Nie mam za bardzo pomysłu jak takie coś wykonać

Ten post edytował Destrudo 3.02.2017, 17:44:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


group by pole1

i do tego group_concat()
Go to the top of the page
+Quote Post
Destrudo
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 10.10.2011

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


Próbuję jeszcze zrobić tabelkę z datami, kiedy dodane były rekordy z pole2, ale w tabelce stałej, tzn. wyświetlam tabelkę z ostatnimi 30 dniami i jeśli np. 1 dnia został dodany rekord : xxxx | treteter, drugiego dnia nic nie zostało dodane, a trzeciego dnia został dodany kolejny rekord, dajmy na to: xxxx| sfdsfdsfdsf, to chciałbym, aby tabelka wyglądała mniej więcej tak:

(IMG:http://i.imgur.com/Ncv5X2C.png)

Moje obecne zapytanie wygląda tak:

  1. SELECT id,data,pole1, substring_index(group_concat(pole2 SEPARATOR '</th><th>'), ',', 30) as pole2 FROM tabela group by pole1


i teraz datę wyświetli przy kazdym rekordzie, jeśli zrobie takie zapytanie:

  1. SELECT id,data,pole1, substring_index(group_concat(pole2, data SEPARATOR '</th><th>'), ',', 30) as pole2 FROM tabela group by pole1

ale nie o to mi chodzi, bo tabelke chciałbym stałą i nie mam pomysłu jak coś takiego zrobić. Tabelkę mniej więcej w podobnym wyglądzie do tych różnych stron, co mierzą pozycje strony w google

I generalnie jak drugi rekord z pole1 zostałby dodany w 3 dniu, to 2 pierwsze pola powinny również mieć kreski, że w tych dniach nie było obecnego tego rekordu
Go to the top of the page
+Quote Post
Pyton_000
post
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A na jakiej podstawie chcesz stwierdzić że dnia 1 i 2 nie było rekordów?
Go to the top of the page
+Quote Post
Destrudo
post
Post #5





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 10.10.2011

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


nie zostanie dodany w tym dniu żaden rekord z datą do bazy danych mysql. A te dni, to chcialbym generować w jednym ciągu dni miesiąca, a na to tez nie za bardzo mam pomysł: 1,2,3,4...31,1,2,3,4...30,1,2,3...31 itd. (w zależności ile dany miesiąc ma dni). I wtedy chciałbym wyświetlać w odpowiedniej komórce rekord, który został dodany w dniu miesiąca w tabelce (jeśli nie został dodany w tym dniu, to wyświetli myślnik bądź coś tego typu)

//nieaktualne

Ten post edytował Destrudo 7.02.2017, 13:37:05
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 00:06