Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie rekordów mysql z wielu kolumn
Forum PHP.pl > Forum > Przedszkole
Biczu
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>';
nospor
To nie sa zadne tabele a KOLUMNY - zasadnicza roznica.

przenosze.
Biczu
Mój błąd, dzięki. : )
nospor
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.
Biczu
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ń. : )
nospor
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.
Biczu
W takim razie spróbuję zrobić tak jak napisałeś. : )

Apropos, dlaczego źle zaprojektowałem bazę? Co byś proponował zmienić następnym razem?
nospor
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
viking
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.
nospor
Tak, podalem wersje skrocona. Nie chcialem na tym etapie wiedzy autora az tak mu mieszac smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.