Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] jak wyciągnąc z tabeli
totyl
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.03.2011

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


Mam w tabeli:

person_id parametr wartość
1 imie john
1 nazwisko black
2 imie bob
2 nazwisko white
3 imie fred
4 nazwisko red

Chciałbym wyciągnąć dane w postaci:

id imie nazwisko
1 john black
2 bob white
3 fred NULL
4 NULL red

Nie mam pomysłu na zrobienie tego...
Czy ktoś ma jakiś pomysł?

Pozdrawiam.
totyl

Ten post edytował totyl 10.03.2011, 22:37:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wiiir
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


Czyli jesli dobrze rozumiem, jezeli bedziesz mial 20 pol z danymi to bedzie 20 rekordow o ID 1 ?
Hahahahahahaha powodzenia...

Jezeli nie chcesz robic "alterowania" to zrob sobie 2 dodatkowe pola w swojej tabeli, definicja i wartosc

Przykład definicji
  1. $definicja = 'IMIE|NAZWISKO|TELFON|MAIL';


Przyklad wartosci
  1. $wartosc = 'JAN|KOWALSKI|123-456-789|JAKIS@MAIL.PL'


I teraz zrob sobie explode po znaku "|" dla definicji i wartosci, potem petla do tabeli asocjacyjnej w postaci
  1. $def = explode('|',$definicja);
  2. $val = explode('|',$wartosc);
  3. $i=0;
  4. while($i<=count($def)) // obojetnie co w sumie i tak ilosc def i val musi byc taka sama
  5. {
  6. $arr[$person_id][$def[$i]] = $val[$i];
  7. $i++
  8. }


Potem tylko dodatkowe funkcje ktore dadza return oczekiwanych wartosci, budowania definicji i wartosci .... i 100 innych ktore beda potrzbne
  1. $arr[1]['IMIE'] // => john
  2. $arr[1]['NAZWISKO'] // => black

Ja osobiscie stosuje powyższe rozwiaznie tylko i wylacznie w przypadku kiedy operator systemu buduje sobie slowniki ktore moga sie skladac z niewiadomej ilosci danych (tabela - kolumny i rowsy)... jeszcze mnie nie zawiodlo (IMG:style_emoticons/default/smile.gif) (mimo iz ciezko sie to czyta w surowej postaci na bazie)

Ale jesli chodzi o jakies dane (pola) na ktore zwykly operator systemu (uzytkownik) nie ma wplywu a jedynie jest to wymagane przez zmiane w projekcie czyli twoj klient ci powiedzial ze teraz chce miec w formatce 3 telefony zamiast 1 to sie dodaje kolumny do tabeli i zmienia w aplikacji odpowiednie linijki (IMG:style_emoticons/default/smile.gif)

Ten post edytował wiiir 16.03.2011, 23:06:40
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 22:31