Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Pobranie trzech ostatnich rekordów tabeli
gustaff88
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.01.2016

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


Witam! Mam taki oto kod PHP:

  1. <?php
  2. try
  3. {
  4. include_once 'include/db_connect.php';
  5. $dbd -> query ('SET NAMES utf8');
  6. $dbd -> query ('SET CHARACTER_SET utf8_unicode_ci');
  7. $dbd -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  8. $statement = $dbd->prepare('SELECT * FROM news ORDER BY id DESC LIMIT 3');
  9. $statement->execute();
  10. foreach($statement as $row)
  11. {
  12. echo('<div class="kolumna"><h1>');
  13. echo($row['tytul']);
  14. echo('</h1>');
  15. echo('<p class="date">');
  16. echo($row['data']);
  17. echo('</p>');
  18. echo('<p class="news">');
  19. echo($row['skrot']);
  20. echo('</p>');
  21. echo('<div class="next"><a href="testnews.php?id='.$row['id'].'">Czytaj dalej...</a></div>');
  22. echo('</div><div class="linia"></div>');
  23.  
  24. }
  25. $statement->closeCursor();
  26. }
  27. catch(PDOException $e)
  28. {
  29. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  30. }
  31. ?>


Pobiera on trzy ostatnie rekordy tabeli, ale mam problem z odpowiednim formatowaniem w html.
Chcę, żeby wyniki były wyświetlone w następującej kolejności:

  1. <div class="kolumna">ostatni rekord</div>
  2. <div class="linia"></div>
  3. <div class="kolumna">drugi od końca<div>
  4. <div class="linia"></div>
  5. <div class="kolumna">trzeci od końca</div>


Wszystko jest dobrze za wyjątkiem tego, że w pętli wyświetlane jest na końcu div class="linia".
Nie wiem jak podejść do tematu, proszę o jakieś podpowiedzi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gustaff88
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 28.01.2016

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


Dzięki wielkie!
Faktycznie głupio miałem zapisane to echo.
I nie wiem dlaczego nie działa mi:
  1. if (++$ < $rowsNo)

ale zrobiłem:
  1. if ($i++ < $rowsNo+1)

i działa.
Oto działający kod:

  1. <?php
  2. try
  3. {
  4. include_once 'include/db_connect.php';
  5. $dbd -> query ('SET NAMES utf8');
  6. $dbd -> query ('SET CHARACTER_SET utf8_unicode_ci');
  7. $dbd -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  8. $statement = $dbd->prepare('SELECT * FROM news ORDER BY id DESC LIMIT 3');
  9. $statement->execute();
  10. $i = 0;
  11. $rowsNo = count($statement);
  12. foreach($statement as $row)
  13. {
  14. echo('<div class="COLUMN"><h1>');
  15. echo($row['tytul']);
  16. echo('</h1>');
  17. echo('<p class="date">');
  18. echo($row['data']);
  19. echo('</p>');
  20. echo('<p class="news">');
  21. echo($row['skrot']);
  22. echo('</p>');
  23. echo('<div class="next"><a href="testnews.php?id='.$row['id'].'">Czytaj dalej...</a></div>');
  24. echo('</div>'); // to było w echo
  25. if ($i++ < $rowsNo+1) {
  26. echo('<div class="VL"></div>');
  27. }
  28.  
  29. }
  30. $statement->closeCursor();
  31. }
  32. catch(PDOException $e)
  33. {
  34. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  35. }
  36. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 01:10