Dane z Mysql w tabeli

Dane z Mysql w tabeli
ZP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:8
1

Dzień dobry,
Mam kolejne pytanie, liczę na waszą pomoc :)
Wyciągam rekordy z bazy danych takim sposobem:

<?php $polaczenie = @new mysqli($host, $db_user, $db_password, $db_name); if($polaczenie->connect_errno!=0) { echo "Error".$polaczenie->connect_errno. " Opis: ".$polaczenie->connect_error; } else{ $sql = "SELECT * FROM `game` WHERE Game_Type_Game='1' "; if($rezultat = @$polaczenie->query($sql)) { $tablerows = $rezultat->num_rows; echo '
IDLoginHasło
'.$wiersz[0].''.$wiersz[1].''.$wiersz[2].'
'; } $polaczenie->close(); } ?>

Problem polega na tym, że ta tabela jest tworzona na podstawie ilości danych. Więc jeśli mam tylko 2 rekordy a wyświetlam 5 to będę mieć brzydką tabelę. Czy jest możliwość stworzenia tabeli "na sztywno" o określonych wymiarach (ilość wierszy i komórek jest znana ) i wypełnienie jej danymi?
Z góry dziękuję za pomoc.

edytowany 1x, ostatnio: ZbyszekPHP
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Czy jest możliwość stworzenia tabeli "na sztywno" o określonych wymiarach (ilość wierszy i komórek jest znana ) i wypełnienie jej danymi?

Przecież teraz już tworzysz tabelę na sztywno: dokładnie 6 wierszy po 3 kolumny.

Nie chodzi Ci o coś odwrotnego, czyli tabelę, której liczba wierszy zależy od liczby wierszy pobranej z bazy danych?


edytowany 3x, ostatnio: Patryk27
ZP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:8
0
Patryk27 napisał(a):

Czy jest możliwość stworzenia tabeli "na sztywno" o określonych wymiarach (ilość wierszy i komórek jest znana ) i wypełnienie jej danymi?

Przecież teraz już tworzysz tabelę na sztywno: dokładnie 6 wierszy po 3 kolumny.

Nie chodzi Ci o coś odwrotnego, czyli tabelę, której liczba wierszy zależy od liczby wierszy pobranej z bazy danych?

Hmm, czyli muszę ustawić aby puste rekordy były tej samej wielkości co wypełnione, żeby mi się tak brzydko nie zmniejszały?

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

Ew. możesz po prostu nie generować na pałę zawsze 5 rekordów.


Łukasz Mikowski
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 2 lata
  • Postów:64
2
  1. tworzysz zmienną przechowującą ilość wierszy z zapytania i nie wykorzystujesz jej później (??)
  2. zamiast
Kopiuj
for ($i=0; $i <5; $i++)
{
$wiersz = $rezultat->fetch_array();
[...]
}

zrób

Kopiuj
while ($wiersz = $rezultat->fetch_array()) 
{
[...]
}
  1. wygodniej będzie Tobie używać fetch_assoc zamiast fetch_array.
ZP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:8
0
Łukasz Mikowski napisał(a):
  1. tworzysz zmienną przechowującą ilość wierszy z zapytania i nie wykorzystujesz jej później (??)
  2. zamiast
Kopiuj
for ($i=0; $i <5; $i++)
{
$wiersz = $rezultat->fetch_array();
[...]
}

zrób

Kopiuj
while ($wiersz = $rezultat->fetch_array()) 
{
[...]
}
  1. wygodniej będzie Tobie używać fetch_assoc zamiast fetch_array.

Odnośnie :

  1. tworzysz zmienną przechowującą ilość wierszy z zapytania i nie wykorzystujesz jej później (??) - pozostałość po starym kodzie, który tworzył tabele po ilości wierszy w bazie danych. Zapomniałem usunąć.

A za odpowiedź:
Dziękuję :)

edytowany 1x, ostatnio: ZbyszekPHP
ZP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:8
0

Ok, mam jeszcze jedno pytanko. Jak zbudować tą tabelę żeby dało się ją css'em jakoś ładnie edytować? Zadziała coś takiego, że zamiast tworzyć tabelę dodam wartości w pętli do zmiennych globalnych a później je w html'u do zbudowanej wcześniej tabeli wkleje? Troszkę nie wiem jak to logicznie rozkminić? Z góry dziękuję za odpowiedzi.

ME
  • Rejestracja:prawie 8 lat
  • Ostatnio:5 miesięcy
  • Postów:110
0

Nadaj klasę tabeli i ostyluj tabelę w cssie.

Łukasz Mikowski
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 2 lata
  • Postów:64
0
ZbyszekPHP napisał(a):

dodam wartości w pętli do zmiennych globalnych a później je w html'u do zbudowanej wcześniej tabeli wkleje

strasznie to przekombinowane.
Tak jak napisał mefsh. Dodaj klasę do tagu tabeli, a jej konstrukcję zostaw jak masz w tej chwili.

Przem4S
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Tychy
  • Postów:4
1

A ja tylko podpowiem, aby nie wynajdować koła na nowo:
https://datatables.net/

Bardzo użyteczny plugin do budowy zaawansowanych tabel.

ZP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 6 lat
  • Postów:8
0

Hej,
Tak sobie dłubie przy tym i napotkałem kolejny problem :(
Chciałbym aby nagłówki kolumn w tabeli pozostały cały czas widoczne przy scrollowaniu, jednak jak daje je w to dostają jakiś dziwny wymiar (nie pasujący do szerokości kolumn w tabeli).
Czy można to jakoś wymusić w css?
Pozdrawiam.

edytowany 1x, ostatnio: ZbyszekPHP
ME
  • Rejestracja:prawie 8 lat
  • Ostatnio:5 miesięcy
  • Postów:110
0

Możesz ustawić stałe wartości width, ale wtedy stracisz responsywność tabelki na stronie.

edytowany 1x, ostatnio: mefsh

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.