Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie rekordów mysql z wielu kolumn, Wyświetlanie rekordów mysql z wielu kolumn
Biczu
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.12.2015

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


Mam problem z wyświetleniem rekordów z bazy mysql (wyświetlam PHP). Pomoże ktoś? : )

Mianowicie mam 11 kolumn (ID, Zespół1, Zespół2, Zespół3, ..., Zespół10). Otóż chciałbym wyświetlić wszystkie rekordy z kolumn od Zespół1 do Zespół10 w kolejności alfabetycznej w jednej linii.

Przykład tabeli z kolumnami:
http://postimg.org/image/av3w4g72l/

Przykład kodu który wyświetla mi wyniki w 10 kolumnach:


$wynik = mysql_query("SELECT * FROM ...");


echo '<table>';
echo '<div class="...">';
while($kolumna = mysql_fetch_array($wynik)) {

echo '<div>' . $kolumna['Zespol_pierwszy'] . '</div>';
echo '<div>' . $kolumna['Zespol_drugi'] . '</div>';
echo '<div>' . $kolumna['Zespol_trzeci'] . '</div>';
echo '<div>' . $kolumna['Zespol_czwarty'] . '</div>';
echo '<div>' . $kolumna['Zespol_piaty'] . '</div>';
echo '<div>' . $kolumna['Zespol_szosty'] . '</div>';
echo '<div>' . $kolumna['Zespol_siodmy'] . '</div>';
echo '<div>' . $kolumna['Zespol_osmy'] . '</div>';
echo '<div>' . $kolumna['Zespol_dziewiaty'] . '</div>';
echo '<div>' . $kolumna['Zespol_dziesiaty'] . '</div>';
}
echo '</table>';

Ten post edytował Biczu 3.12.2015, 15:09:18
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




To nie sa zadne tabele a KOLUMNY - zasadnicza roznica.

przenosze.
Go to the top of the page
+Quote Post
Biczu
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.12.2015

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


Mój błąd, dzięki. : )

Ten post edytował Biczu 3.12.2015, 15:11:09
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Na chwile obecna twoja struktura wyglada jakby byla po prostu zrypana (w sensie totalnie nieprzemyslana). Jestes w stanie to poprawic (w sensie projekt jest na takim etapie, ze mozna to jeszcze poprawic) ?
Jesli tak, to napisz co to ma przedstawiac.
Go to the top of the page
+Quote Post
Biczu
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.12.2015

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


Projekt jest na takim etapie że nie można już tego porawić. Działa to tak - użytkownik loguje się, wypisuje w formularzu wybrane przez siebie 10 zespołów (ma prawo wypisać 2 jesli chce). Do bazy trafia ID użytkownika oraz 10 zespołów (lub mniej) - wszystko w osobnych kolumnach.

Teraz chcę wypisać wszystkie zespoły w kolejności A - Z. Następnie mam zamiar je podliczyć.

Moim celem jest podliczenie wszystkich zespołów z 10 kolumn, dajmy na to: słowo IRA zostało wpisane 453 razy.



Dodam, że z mysql mam styczność ponad tydzień. : )
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Tja... to zdecydowanie zle zaprojektowales baze...

No nic, musisz dane z kolumn wrzucic do tablicy w php, potem posortowac te tablice np. asort() po czym wyswietlic dane z tablicy.
Go to the top of the page
+Quote Post
Biczu
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.12.2015

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


W takim razie spróbuję zrobić tak jak napisałeś. : )

Apropos, dlaczego źle zaprojektowałem bazę? Co byś proponował zmienić następnym razem?
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Nie tworzy sie tylu kolumn, ile moze byc zespolow.

ma byc tabela z polami:
id
user_id
zespol

i juz. Potem jak user powiedzmy o id 5, dodal dwa zespoly, to w tej tabeli powstaja dwa rekordy:

1 5 jakis zespol
2 5 jakis inny zespol
Go to the top of the page
+Quote Post
viking
post
Post #9





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Wedle sztuki to powinno być:
zespoły: id, nazwa
użytkownicy: id, email, hasło itd.
zespoły_użytkownicy: id z obu kolumn połączone kluczem obcym
Nazywa się to normalizacja danych.
Dlaczego nie tak jak nospor? Bo jeśli user 1 doda np. Metallicę i user 2 tak samo dane będą się powtarzać (będą zdublowane). Oczywiście są sytuacje w których potrzebujemy którejś tam postaci normalnej i jest to celowe działanie.
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Tak, podalem wersje skrocona. Nie chcialem na tym etapie wiedzy autora az tak mu mieszac (IMG:style_emoticons/default/smile.gif)
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: 8.10.2025 - 01:45