Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Układ Danych pobieranych z mysql
Forum PHP.pl > Forum > Przedszkole
boro11
Witam!
Od jakiegoś czasu próbuje zrobić nową odsłonę swojej strony. I niestety napotkałem parę problemów.

W tym temacie przedstawię tylko jeden związany z estetyką strony.

Oto i on:
Gdy pobieram dane z mysql prezentują sie one w bloku(jedna pod drugą) chce żeby ustawiały się w jednym wersie.

Mają wyglądać jak tutaj;
http://refbackbank.com/v4/index.php

I to okienko na samym dole: Payments proofs from ptc sites

Zrobiłem to przykładowo jako tabele. Żeby pokazać wam jak to ma wyglądać i tym samym ułatwić pomoc.

Aha i komenda PHP która to wywołuje:

  1.  
  2. <?
  3. $r=mysql_query("select * from ".$pref."lastpay ORDER BY id DESC limit 1;");
  4. while($f=mysql_fetch_array($r))
  5. {
  6. echo $f['site']."<br>";
  7. echo $f['data']."<br>";
  8. echo $f['amount']."$<br>";
  9. }
  10. ?>


Limit oczywiście ustawiam na 4 ale teraz jest 1 żeby chociaż 1 było prawidłowo. Nie wiem jak ustawić pozostałe 3.
muk4
Zrób tabelę z jednym wierszem i 4 kolumnami.
Barcelona
Tabele daj na 100% a wszystkie td na 25%. Dodatkowo ustaw wyrównywanie do środka i wyśrodkowanie w pionie "middle"
boro11
Tabela mam zrobioną poprawnie.

  1. <table border="0" width="571px" height="126px">
  2. <tr align="center">
  3. <td>
  4. <?
  5. $r=mysql_query("select * from ".$pref."lastpay ORDER BY id DESC limit 1;");
  6. while($f=mysql_fetch_array($r))
  7. {
  8. echo $f['site']."<br>";
  9. echo $f['data']."<br>";
  10. echo $f['amount']."$<br>";
  11. }
  12. ?>
  13. </td> <td>NeoBux<br />2010-07-08<br />16.46$</td> <td>NeoBux<br />2010-07-08<br />16.46$</td> <td>NeoBux<br/>2010-07-08<br />16.46$</td>
  14. </tr>
  15.  


Jak widać pierwsze dane są pobierane z mysql ale reszte dopisałem. Chce żeby każda była pobierana. Dane mają być z 4 ostatnich wersów.

Zmieniłem teraz limit na 4 więc jak ktoś chce to zapraszam jeszcze raz tutaj aby jeszcze lepiej zobrazować co jest nie tak:
http://refbackbank.com/v4

Jak widać dane są w jednej kolumnie a chce żeby były w jednym wersie ale w 4 kolumnach.
Problem nie tkwi chyba w tabeli ale w PHP bo źle wyświetla dane tzn. w bloku a nie w linij
muk4
Napiszę szkielet tylko jak to ma wyglądać, bo już późno:
  1. echo '<table><tr>';
  2. while($f=mysql_fetch_array($r)){
  3. echo '<td>';
  4. //tutaj zmienne z bazy i jakieś formatowanie np $f['id']
  5. echo'</td>';
  6. }
  7. echo '</tr></table';


Skrypt otwiera tabelkę i jedyny wiersz(poziomo).
Potem dodaje komórki(kolumny pionowe które lecą od lewej do prawej (ORLY?))
Na końcu zamyka wiersz i tabelę.
boro11
Z twoją pomocą "stworzyłem" coś takiego ale nic mi się nie wyświetla.

  1. <?
  2. echo '<table><tr>';
  3.  
  4. while($f=mysql_fetch_array($r)){
  5.  
  6. echo '<td>';
  7.  
  8. $r=mysql_query("select * from ".$pref."lastpay ORDER BY id DESC limit 4;");
  9. while($f=mysql_fetch_array($r))
  10. {
  11. echo $f['site']."<br>";
  12. echo $f['data']."<br>";
  13. echo $f['amount']."$<br>";
  14. }
  15.  
  16. echo'</td>';
  17.  
  18. }
  19.  
  20. echo '</tr></table>';
  21.  
  22. ?>


Da się zrobić coś takie aby wyświetlać dane z mysql z ostatniego rekordu, 1 od końca, 2 od końca itd.

Wtedy wpisał bym 4 takie wywołania do każdej komórki w tabeli osobno i nie było by problemu.
muk4
  1. $r=mysql_query("select * from ".$pref."lastpay ORDER BY id DESC limit 4;");
  2. echo '<table><tr>';
  3.  
  4. while($f=mysql_fetch_assoc($r)){
  5. echo '<td>';
  6. echo $f['site']."<br />";
  7. echo $f['data']."<br />";
  8. echo $f['amount']."$<br />";
  9. echo'</td>';
  10. }
  11.  
  12. echo '</tr></table';


Moja wina - użyłem mysql_fetch_array zamiast mysql_fetch_assoc
boro11
Dziękuje bardzo. Teraz działa idealnie. Dawno nie widziałem forum z tak pomocnymi użytkownikami.
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.