Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobranie danych z bazy
krysk
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Witam, mam do wydrukowania tabelkę o zmieniającej się ilości wierszy z zawartością która jednak może być różna od ilości wierszy. Pytanie - jak wydrukować taką tabelkę na ekran aby miała ustaloną w zmiennej przeze mnie ilość wierszy oraz wydrukowała tyle rekordów ile się w niej zmieści, lub jeśli rekordów jest mniej niż wierszy to żeby wydrukowało wszyskie rekordy i dokończyło drukowanie wierszy z białą spacją jako treść, myślałem nad czymś takim:

  1. <?php
  2.  
  3. for ($i = 1; $i <= $wiersze; $row=mysql_fetch_array($q), $i++){
  4. //wyświetlanie wiersza
  5. }
  6.  
  7. ?>

Przykłady:
-tabelka ma mieć 10 wierszy, rekordów jest 3. Drukuje 3 wiersze wypełnione z rekordami, 7 wypełnionych białą spacją &nbsp;.
-ta sama tabelka, rekordów jest 20 - drukuje tylko 10. (to się rozwiąże dodaniem do zapytania LIMIT, ale celem przykładu;))


Mam nadzieję, że problem opisałem jasno smile.gif


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
a1EL
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 29.05.2004
Skąd: Kraków

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


son jak prosilem napisal cos takiego co wyswietla 3rezultaty z pozniej nasteonia linia i znowu 3
  1. <?php
  2.  i++;  
  3.  $reszta = $i%3;
  4.  if($reszta == 0) print '<br />';
  5. ?>

Mam nadziej ze to Ci chodciaz troche pomoze
Go to the top of the page
+Quote Post
Ociu
post
Post #3





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




W najprostrzy sposób, można zrobić tak:
  1. <?php
  2. if($row['id'] > 3)
  3. {
  4. echo '<br />'; // TRUE
  5. } else {
  6. echo $row['id']; // FALSE
  7. }
  8. ?>


Ale, jeśli chcesz tylko pierwsze 3 rekordy wyświetlić z danymi to nie lepiej walnąć drugą pętlę ? Albo nawet pisać ręcznie te &nbsp; smile.gif
  1. <?php
  2. $query = mysql_query(&#092;"SELECT * FROM costam LIMIT 3\");
  3. while($row = mysql_fetch_array($query))
  4. {
  5. echo $row['id'];
  6. }
  7.  
  8. for($i = 0; $i < 7; $i++) echo '&nbsp;';
  9. ?>
Go to the top of the page
+Quote Post
krysk
post
Post #4





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


Ociu - drugi sposób też przyszedł mi do głowy, ale wg. mnie jest mało efektwny i dlatego szukam czegoś lepszego - może jest i wychodzą tylko moje braki w wiedzy winksmiley.jpg)

Doszedłem do czegoś takiego kontynuując swój poprzedni pomysł:
  1. <?php
  2.  
  3.  $q = sql(&#092;"SELECT * FROM `\" . $config[\"tbl_list\"] . \"` WHERE `l_kurs` = '\" . $dane['g_id'] .\"' LIMIT 0,\" . $left);
  4.  for($i =1; $i <= $left; $i++, $tmp = mysql_fetch_array($q))
  5.  {  echo '<tr>
  6. <td align=\"center\" class=\"tbl_f1_red\" width=20>' . $i . '</td>
  7. <td class=\"tbl_white_red\"><span class=\"bk8\">' . $tmp['l_name'] .'</span></td>
  8. <td align=\"center\" class=\"tbl_white_red\" width=20>
  9. <a href=\"?action=delete&id=\"'. $tmp['id'] .' target=\"_self\"><img src=\"./../img/delete.gif\" border=0></a>
  10. </td>
  11. </tr>';
  12.  }
  13.  
  14. ?>



Wyświetla się wszystko tak jak chcę, gdyby nie fakt, iż pierwszy wers jest zawsze pusty. Dlaczego?

Ten post edytował krysk 19.06.2005, 21:49:27


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


zrob ta petelke na
  1. <?php
  2. do{}while($i <= $left)
  3. ?>


nie działa bo:
  1. <?php
  2.  $tmp = mysql_fetch_array($q)
  3. ?>

wykonuje sie po pierwszym przejsciu petli.
Go to the top of the page
+Quote Post
SongoQ
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


W for masz za duzo parametrow.


--------------------
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

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


for jest dobre. ale nie w tym zastosowaniu.
Go to the top of the page
+Quote Post
krysk
post
Post #8





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 20.04.2002
Skąd: Szczecin

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


@ActivePlayer: działa - dzięki.


--------------------
Krzysztof Wójcik
Zend Certified Engineer
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 16:04