Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Dane z bazy, while, <hr> po rekordzie
in5ane
post 30.09.2007, 08:22:37
Post #1





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Elo, jak zrobić, że jak wyciągam dane z bazy za pomocą while'a i po kazdym rekordzie mam <hr> (pozioma kreskę), to żeby nie było po ostatnim rekordzie tej kreski?

Oto mój kod:
  1. <?php
  2. $query = "SELECT * FROM page_news WHERE status = '2' ORDER BY id DESC LIMIT 10";
  3. $result = mysql_query($query);
  4. while($row = mysql_fetch_array($result)) {
  5. echo '<p style="font-size: 10px; font-weight: bold;">'.$row[tytul].'</p><p style="font-size: 10px;">('.$row[data_dodania].')</p><hr style="border: none; width: 15%; height: 1px; background-color: #6e7a7b;" />';
  6. }
  7. echo '<br />';
  8. ?>


Z góry dziękuję za pomoc smile.gif


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
kossa
post 30.09.2007, 08:59:54
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


1. sprawdź przed pętlą ile masz rekordów w bazie

2. przed pętlą zainicjuj zmienną $i=1;

3. w pętli (na końcu przed } ) dokonaj iteracji zmiennej $i++;

4. w pętli przed <hr> sprawdzaj za pomocą if czy ilość rekordów jest równa $i - jeśli jest różna to wyświetlaj <hr> przeciwnym wypadku nie wyświetlaj linii i problem rozwiązany


Łukasz


--------------------
Go to the top of the page
+Quote Post
Daimos
post 30.09.2007, 10:41:48
Post #3





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


mozna tez tak, bez zliczania calkowitej liczby rekordow
  1. <?
  2. $tablica = array('a', 'b', 'c');
  3. for($i=0; $i<count($tablica); $i++){
  4. $rozdzielnik = ($i==0) ? '' : '<hr>';
  5. echo $rozdzielnik.$tablica[$i];
  6. }
  7. ?>
z biegu pisane, ale tak to mniej wiecej powinno wygladac, wystarczy tylko zastosowac to w Twoim wypadku


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
vip3r
post 30.09.2007, 18:33:53
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 0
Dołączył: 28.11.2006
Skąd: 2322

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


A moglibyście to zrobić już na przykładzie Insane'a. Byście to zrobili, bo ja też bym sobie to wykorzystał.
Go to the top of the page
+Quote Post
atomek4
post 30.09.2007, 18:51:56
Post #5





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


  1. <?php
  2. $query = "SELECT * FROM page_news WHERE status = '2' ORDER BY id DESC LIMIT 10";
  3. $result = mysql_query($query);
  4. $num_rows = mysql_num_rows($result); 
  5. $i=1;
  6. while($row = mysql_fetch_array($result)) {
  7. echo '<p style="font-size: 10px; font-weight: bold;">'.$row[tytul].'</p><p style="font-size: 10px;">('.$row[data_dodania].')</p><hr style="border: none; width: 15%; height: 1px; background-color: #6e7a7b;" />';
  8. echo '<br />';  
  9. if($i< $num_rows) echo '<hr/>';
  10. $i++;
  11. }
  12. ?>


O coś takiego chodzi?

edit: @vip3r - co się dzieje? Bo mogłem się pomylić.

Ten post edytował atomek4 30.09.2007, 20:20:35
Go to the top of the page
+Quote Post
vip3r
post 30.09.2007, 20:09:04
Post #6





Grupa: Zarejestrowani
Postów: 162
Pomógł: 0
Dołączył: 28.11.2006
Skąd: 2322

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


Coś mi to nie chodzi.
Go to the top of the page
+Quote Post
atomek4
post 30.09.2007, 20:35:21
Post #7





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 8.03.2007
Skąd: Łódź

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


@vip3r - co się dzieje? Sprawdziłem wszystko działa, tylko że ja dodałem swoją dodatkową linię. Natomiast jeśli to miała być tylko ta, co już jest w kodzie to wystarczy to zamienić. Zamiast tego mojego <hr/> wstawić to, co już jest w kodzie.
Go to the top of the page
+Quote Post
in5ane
post 1.10.2007, 06:11:14
Post #8





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Dzięki wam za pomoc. Skorzystałem z pomocy kossy.
A więc vip3r, dla Ciebie specjalnie kod:
  1. <?php
  2. $query = "SELECT * FROM page_news WHERE status = '2' ORDER BY id DESC LIMIT 10";
  3. $result = mysql_query($query);
  4. $num_rows = mysql_num_rows($result);
  5. $i=1;
  6. while($row = mysql_fetch_array($result)) {
  7. echo '<p style="font-size: 10px; font-weight: bold;">'.$row[tytul].'</p><p style="font-size: 10px;">('.$row[data_dodania].')</p>';
  8. if ($num_rows != $i) {
  9. echo '<hr style="border: none; width: 15%; height: 1px; background-color: #6e7a7b;" />';
  10. }
  11. $i++;
  12. }
  13. echo '<br />';
  14. ?>


--------------------
> > > Tworzenie stron < < <
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 Wersja Lo-Fi Aktualny czas: 6.07.2025 - 17:13