Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]News System
Forum PHP.pl > Forum > Przedszkole
Adis92
Mam pewien problem. Otóż napisałem sobie prosty skrypt na wyświetlanie newsów, tylko chciałbym aby na stronie głównej były wyświetlane tylko skróty newsów które są pobierane z bazy danych, a po kliknięciu w temat przechodziło do głównej treści.
I jeszcze jeden problem jak dodać żeby przy dodawaniu newsa dodawało godzinę dodania. Próbowałem z $godz = time("H:m:s"); ale nie dodaje mi godziny tylko w bazie jest 00:00:00.
Skrypt include.php (wyświetla skróty newsów):
  1. <?php
  2.    $polacz = mysql_connect("host", "user", "password");
  3.  
  4.    if($polacz){
  5.        $select = mysql_select_db("baza");
  6.    } else echo "Blad polaczenia!";
  7.  
  8.    if($select){
  9.        $pytanie = mysql_query("SELECT * FROM nowosci ORDER BY id desc limit 0,5 ");
  10.    } else echo "Blad wyboru Bazy!";
  11.    
  12.        mysql_close($polacz);
  13.    
  14.            if($pytanie){
  15.                while($dane = mysql_fetch_assoc($pytanie)){
  16.        
  17.                    echo "<div id='news'>";
  18.                    echo "<h1><a href='includes/news.php?id=".$dane[id]."'>".$dane['temat']."</a></h1>";
  19.                    echo "<b class='news'>".$dane['datadodania']."</b><br><br>";
  20.                    echo "<p> ".$dane['skrot']." </p><br>";
  21.                    echo "<img src='images/linia.png' alt=''><br><br>";
  22.                    echo "</div>";
  23.                }
  24.            } else echo "Blad zapytania!";
  25. ?>

News.php (plik który ma wyświetlać całość newsa):
  1. <?php
  2.    $polacz = mysql_connect("host", "user", "password");
  3.  
  4.    if($polacz){
  5.        $select = mysql_select_db("baza");
  6.    } else echo "Blad polaczenia!";
  7.  
  8.    if($select){
  9.        $pytanie = mysql_query("SELECT * FROM nowosci WHERE id='$id'");
  10.    } else echo "Blad wyboru Bazy!";
  11.    
  12.        mysql_close($polacz);
  13.    
  14.            if($pytanie){
  15.                while($dane = mysql_fetch_assoc($pytanie)){
  16.        
  17.                    echo "<div id='news'>";
  18.                    echo "<h1>".$dane['temat']."</h1>";
  19.                    echo "<b class='news'>".$dane['datadodania']."</b><br><br>";
  20.                    echo "<p> ".$dane['tresc']." </p><br>";
  21.                    echo "<img src='images/linia.png' alt=''><br><br>";
  22.                    echo "</div>";
  23.                }
  24.            } else echo "Blad zapytania!";
  25. ?>


I może ktoś wie jak zrobić aby jak w polu z którego dodaje newsa po naciśnięciu entera działało tak jakbym dodał <br>.
patryczakowy
mb_substr
kefirek
Cytat(Adis92 @ 19.02.2009, 20:23:07 ) *
I może ktoś wie jak zrobić aby jak w polu z którego dodaje newsa po naciśnięciu entera działało tak jakbym dodał <br>.


Zainteresuj się nl2br

Cytat(Adis92 @ 19.02.2009, 20:23:07 ) *
chciałbym aby na stronie głównej były wyświetlane tylko skróty newsów które są pobierane z bazy danych, a po kliknięciu w temat przechodziło do głównej treści.


Najlepiej użyj do wyświetlania krótkiej formy newsa substr i zrób link więcej i przekazuj GETem id newsa i odczytuj całą zawartość

Prosty przykład
  1. <?php
  2. if(isset($_GET['wiecej'])){
  3. $pytanie = mysql_query("SELECT * FROM nowosci WHERE id='$wiecej' LIMIT 1");
  4. }
  5. ?>


Cytat(Adis92 @ 19.02.2009, 20:23:07 ) *
I jeszcze jeden problem jak dodać żeby przy dodawaniu newsa dodawało godzinę dodania. Próbowałem z $godz = time("H:m:s"); ale nie dodaje mi godziny tylko w bazie jest 00:00:00.
.


Dodawaj date w postaci:
NOW()
CURDATE()
Lub
time();
slewin
ad1.
W skrypcie dodawania wiadomości daj np. coś takiego
  1. <?php
  2. //początek
  3. ....
  4.         $query = "INSERT INTO news (pole1, pole2, pole3, pole4,".
  5.           " datadodania) VALUES ('$pole1', '$pole2', '$pole3', '$pole4', ".
  6.           "now());";
  7. .....
  8. //koniec
  9. ?>


ad2.
http://forum.php.pl/index.php?showtopic=73343

pozdro
Adis92
Z tym nl2br działa ale chciałbym zrobić że wystarczy nacisnąć enter i nie trzeba \n pisać.
Przychodzi mi do głowy sposób taki że sprawdza czy w treści został użyty enter jeżeli tak to automatycznie dodaje w trakcie dodawania do bazy wstawia w te miejsce <br>
W Delphi czy jakimś innym języku zrobiłbym że po naciśnięciu buttona wyślij przeszukiwało by czy został użyty kod ascii (odpowiadający enterowi) jeżeli tak to zamieniałoby go na <br>. Ale nie wiem jak w php coś takiego zrobić.
matixrr
  1. <?php
  2. $tresc = str_replace("\n","<br>",$tresc);
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.