Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ostatni post
VersusPL
post 30.11.2010, 16:44:23
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.05.2010

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


Witam.
Piszę prosty skrypt forum i od jakiegoś czasu nie mogę wymyślić, jak zrobić wyświetlanie ostatniego posta na stronie głównej.
Tzn. linku do niego + nazwa.
Wygląda to na razie tak:
  1. <?php
  2. while($rows=mysql_fetch_array($result)){
  3. ?>
  4. <br />
  5. <div class="forums">
  6. <table width="92%" border="0" align="center" cellpadding="3" cellspacing="1">
  7. </table>
  8. <table class="thead" width="92%" border="0" align="center" cellpadding="5" cellspacing="1">
  9. <tr>
  10. <td width="10%" align="center"><strong>Icon</strong></td>
  11. <td width="65%" align="center"><strong>Forum</strong></td>
  12. <td width="25%" align="center"><strong>Last post</strong></td>
  13. </tr>
  14. <tr>
  15. <td align="center" class="row"><img src="images/icons/post.png" border="0" /></td>
  16. <td class="row"><a href="forum.php">Forum</a><br /></td>
  17. <td class="row"><? echo $rows['datetime']; ?><br /><a href="thread.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?></a><br /></td>
  18. </tr>
  19. <tr>
  20. <td colspan="5" valign="bottom" align="right" bgcolor="#E6E6E6"><img src="images/icons/admin.png" border="0" /> <a href="admin/index.php">Administrative Control Panel</a></td>
  21. </tr>
  22. </table>
  23. <?php
  24. }
  25. ?>

No i niestety zaczyna mi wyświetlać wszystkie tematy, a chcę tylko ostatni.
Tabela tematów - forum_question.php

Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
ADeM
post 30.11.2010, 16:47:30
Post #2





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Słowa klucze: ORDER BY, LIMIT


--------------------
Go to the top of the page
+Quote Post
VersusPL
post 30.11.2010, 16:50:17
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.05.2010

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


Można prosić jakoś dokładniej?
To znaczy, jak wstawić to w ten kod:
  1. <?php
  2. while($rows=mysql_fetch_array($result)){
  3. ?>
Go to the top of the page
+Quote Post
ADeM
post 30.11.2010, 16:55:54
Post #4





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Pokaż co to jest $result.


--------------------
Go to the top of the page
+Quote Post
VersusPL
post 30.11.2010, 16:57:56
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.05.2010

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


  1. <? echo $rows['datetime']; ?><br /><a href="thread.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?>

Przed chwilą próbowałem to napisać, jednak cały skrypt zawieszał przeglądarkę, więc go usunąłem.
Go to the top of the page
+Quote Post
ADeM
post 30.11.2010, 17:07:45
Post #6





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Ech... Pokaż kod odpowiedzialny za wybieranie danych z bazy. Bo to zapytanie trzeba zmienić. Prawdopodobnie masz je w zmiennej $result.


--------------------
Go to the top of the page
+Quote Post
mmica
post 30.11.2010, 17:12:13
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 20
Dołączył: 30.11.2010
Skąd: 127.0.0.1

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


Hey ;]

Pomogłoby gdybyś pokazał zapytanie do bazy. Tak jak inni już napisali - pokaż zmienną $result.
Ale myślę, że starczy Ci coś w tym stylu:
  1. SELECT co_tam_chcesz FROM nazwa_tabeli ORDER BY id DESC LIMIT 1

Mam nadzieję, że masz coś takiego jak `id` lub cokolwiek innego po czym możesz jednoznacznie zidentyfikować Twoje posty. Zmieniając zapytanie najłatwiej osiągniesz to, co sobie zażyczyłeś.

Pozdrawiam,
mmica

Ten post edytował mmica 30.11.2010, 17:16:34


--------------------
"Imagination is more important than knowledge, because knowledge is limited." ~Albert Einstein
<?php $var = array('foo', 'bar'); ?>
Go to the top of the page
+Quote Post
VersusPL
post 30.11.2010, 17:19:42
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.05.2010

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


Adem:
  1. <?php
  2. $host="localhost"; // Host name
  3. $username="clubpeng_irbb"; // Mysql username
  4. $password="-----"; // Mysql password
  5. $db_name="clubpeng_irbb"; // Database name
  6. $tbl_name="forum_question"; // Table name
  7.  
  8. // Connect to server and select databse.
  9. mysql_connect("$host", "$username", "$password")or die("cannot connect");
  10. mysql_select_db("$db_name")or die("cannot select DB");
  11.  
  12. $sql="SELECT * FROM $tbl_name ORDER BY id DESC";
  13. // OREDER BY id DESC is order result by descending
  14. $result=mysql_query($sql);
  15. ?>
Go to the top of the page
+Quote Post
ADeM
post 30.11.2010, 17:20:49
Post #9





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


  1. $sql="SELECT * FROM $tbl_name ORDER BY id DESC LIMIT 1";


--------------------
Go to the top of the page
+Quote Post
VersusPL
post 30.11.2010, 18:05:27
Post #10





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.05.2010

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


Jak mam umieścić LIMIT 1 w:
  1. <?php
  2. while($sql=mysql_fetch_assoc($result)){
  3. ?>

sad.gif
Go to the top of the page
+Quote Post
ADeM
post 30.11.2010, 18:11:13
Post #11





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


LIMIT 1 Masz umieścić w zapytaniu. Podałem Ci dokładnie co masz wkleić.
Wklej do:
  1. $sql="SELECT * FROM $tbl_name ORDER BY id DESC";


--------------------
Go to the top of the page
+Quote Post
VersusPL
post 30.11.2010, 18:18:21
Post #12





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.05.2010

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


ADeM, dziękuję bardzo! Nareszcie działa. Daję pomógł. smile.gif
Temat raczej do zamknięcia.
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: 13.08.2025 - 22:43