Dane z Mysql w tabeli

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.

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?

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?

0

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

2
  1. tworzysz zmienną przechowującą ilość wierszy z zapytania i nie wykorzystujesz jej później (??)
  2. zamiast
for ($i=0; $i <5; $i++)
{
$wiersz = $rezultat->fetch_array();
[...]
}

zrób

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

zrób

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ę :)

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.

0

Nadaj klasę tabeli i ostyluj tabelę w cssie.

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.

1

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

Bardzo użyteczny plugin do budowy zaawansowanych tabel.

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.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1