Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]/[MySQL] Wyswietlanie newsów z bazy.
dawhol
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


Witam jestem poczatkujacy w sprawach php ucze sie dopiero kilkanascie dni (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale napisałem juz pare skryptów dzisiaj chciałem dac pod ostrzał skrypt do wyswietlania newsów z bazy.

Struktóra bazy danych jest następująca:
ID | TITLE | SHORTNEWS | LONGNEWS | DATA

A o to kod pliku newsy_wyswietl.php
  1. <?php
  2. $mysql = '../conf/mysql.ini.php';
  3.  
  4. /* Za pomocą funkcji if sprawdzamy czy istnieje plik ze zmiennej $mysql, gdy funk
    cja zwróci wartosc TRUE
  5.    wczytujemy plik w innym przypadku wyswietlamy blad. */
  6.  
  7. if ( file_exists($mysql)) 
  8. {
  9. require_once($mysql);
  10. } else echo ('Nie można się połączyć z bazą ponieważ plik'.$mysql.' nie istnieje.');
  11.  
  12. /* Deklarujemy funkcje shortnews() */
  13. function shortnews()
  14. {
  15. /* ile na strone */
  16. $ile = 10;
  17. $numrows = mysql_num_rows(mysql_query("SELECT * FROM cms_news"));
  18. if(!$p) $p = 0;
  19. /* zabezpieczenie przed nienumerycznymi wartosciami */
  20. $p = (int)$p; 
  21. $ile = (int)$ile;
  22.  
  23. $zapytanie = "SELECT * FROM cms_news ORDER by data LIMIT $p,$ile";
  24. $wykonaj = mysql_query($zapytanie);
  25.  
  26. while($dane=mysql_fetch_array($wykonaj)) { echo "<table width="500px"><tr>
  27. <td>".$dane['title']."</td></tr>
  28.  <tr><td>".$dane['shortnews']."<br><a href="news_wyswietl.php?wiecej=1&id=".$dane['id']."">Więcej ...</a></td></tr>
  29. <tr><td>".$dane['data']."</td>
  30. </tr></table><br /><br />";
  31. }
  32.  
  33. echo "strona: ";
  34. for($i=0;$i<ceil($numrows/$ile);$i++) {
  35. echo '<a href="'.$PHP_SELF.'?p='.($i*$ile).'">'.($i+1).'</a> ';};
  36.  
  37. }
  38.  
  39. /* Deklarujemy funkcję longnews() */
  40. function longnews()
  41. {
  42.  
  43. if (is_numeric($_GET['id'])) 
  44. {
  45. $id = $_GET['id'];
  46. }
  47. else
  48. {
  49. $id = rand(); /* Jeżeli id nie bedzie liczba lub bedzie puste wtedy zostanie wylosowane
  50.  jezeli nie bedzie go w bazie to nic sie nie wyswietli a 
  51.  jezeli dany id bedzie w bazie wyswietli on w formie dludiej newsa o wylosowanym
     id */
     
  52. };
  53.  
  54. $zapytanie2 = "SELECT * FROM cms_news WHERE id=$id LIMIT 1";
  55. $wykonaj2 = mysql_query($zapytanie2);
  56.  
  57. if ($dane2=mysql_fetch_array($wykonaj2)) { echo "<table width="500px"><tr>
  58. <td>".$dane2['title']."</td></tr>
  59.  <tr><td>".$dane2['shortnews']."<br /><br />".$dane2['longnews']."</td></tr>
  60. <tr><td>".$dane2['data']."</td>
  61. </tr></table>";};
  62. }
  63.  
  64. /* Jezeli zmienna $wiecej jest pusta wtedy zostana wyswietlone wszystkie newsy w 
    formie krótkiej,
  65. jezeli wartos ta bedzie liczba oraz bedzie równa 1 wtedy zostanie wyswietlony je
    den news w całości,
  66. w innym wypadku zostanie wyświetlony bład */
  67.  
  68. $wiecej = $_GET['wiecej'];
  69.  
  70. if (empty($wiecej)) 
  71. {
  72. shortnews();
  73. } 
  74. else 
  75. {
  76. if (is_numeric($wiecej) && $wiecej = 1) 
  77. {
  78. longnews();
  79. } 
  80. else echo ('Błąd wartość zmiennej $wiecej jest nie prawidłowa !!!');  
  81. };
  82.  
  83. ?>


Proszę o ocenę i ew. propozycje poprawy i zmian (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował dawhol 4.08.2006, 23:56:42
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.08.2025 - 20:30