Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wypełnianie tabeli - problem
krzesik
post
Post #1





Grupa: Zarejestrowani
Postów: 517
Pomógł: 1
Dołączył: 25.08.2012

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


Witam, mam problem z wypełnianiem tabeli pewnie sprawa trywialna, ale ogarnęła mnie "pomroczność" i już nie mam siły.....
Potrzebuję wygenerować tabelę w której 5 pierwszych nagłówków jest stałych, kolejne są generowane z bazy

imię i nazwisko | numer | adres | telefon | wartość z bazy 1 | wartość z bazy 2 | wartość z bazy 3 | wartość z bazy n |

a teraz powinieniem wypełniać kolejny rekord już z danymi tylko z bazy

Adam Kowalski | 123 | jakaś ulica | 800 700 700 | 222 | 333 | 444 | nnn |

proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
widmo_91
post
Post #2





Grupa: Zarejestrowani
Postów: 109
Pomógł: 25
Dołączył: 10.08.2009

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


trzeba lekko zmodyfikować:

  1. "SELECT t1.imie, t1.nazwisko, ".[b]generujPivot() [/b]."
  2. FROM tabela1 t1 LEFT JOIN tabela2 t2 ON t2.id_tab1 = t1.id_tab1
  3. GROUP BY t1.id_tab1, t1.imie, t1.nazwisko"




  1. function generujPivot()
  2. {
  3.  
  4. // $tablica = tablica wszystkich unikalnych wartosci z tabeli t2
  5. // coś w stylu:
  6. $result = $result = mysql_query("SELECT DISTINCT nazwa FROM tabela2");
  7. $tablica = array();
  8. while ($row = mysql_fetch_assoc($result)) {
  9. $tablica[] = $row;
  10. }
  11.  
  12. $kolumna = "t2.nazwa";
  13.  
  14. // $wartosc = wyswietlana wartość w tabeli wynikowej
  15. $wartosc = "t2.nazwa";
  16.  
  17.  
  18. $zapytanie = '';
  19. for ($i = 0; $i < count($tablica); $i++) {
  20. $zapytanie .= "max(case when $kolumna = {$tablica[$i]["nazwa"]}
  21. then $wartosc end) AS `{$tablica[$i]["nazwa"]}`, ";
  22. }
  23. return rtrim($zapytanie, ', ');
  24. }


coś w tym stylu
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 10.10.2025 - 17:57