Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Php - System bardzo prostych newsów., Problem z wyświetleniem.
Owneds
post
Post #1





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

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


Witam serdecznie!
Mam problem z wyświetlaniem poprawnie newsów.
Chciałbym aby były one wyświetlane dokładnie tak samo, jak napisane są w bazie MYSQl.
Przykład obecnego newsa(MySQL):
MySQL Image
Oraz newsa wyświetlanego na stronie:
News na stronie

Jak widać, na stronie nie ma wcięć, oddzieleń akapitów spacją, kawałka tekstu na środku, jak to jest zapisane w MySql. Wszystko zapisane jest w jednym ciągu. Potrafi ktoś to naprawić, aby było poprawnie skonstruowane? smile.gif
Tutaj oczywiście podaje kod, jakiego używam do obecnego wyświetlenia:
  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select * from news where id='".(int)$_GET['id']."'");
  4. $rekord = mysql_fetch_array($query);
  5. echo '<h1>'.$rekord[1].'</h1> Autor: '.$rekord[3].'<br/>Data: '.$rekord[2].'<p>'.$rekord[4].'</p>';
  6. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Daj w <pre></pre>, ew. zobacz nl2br()
Go to the top of the page
+Quote Post
Hpsi
post
Post #3





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


<pre></pre> bym nie radził =)

zrób do $rekord[4], tak jak polecił mój poprzednij
  1. nl2br($rekord[4])


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Owneds
post
Post #4





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

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


Dziękuje panowie, za szybką odpowiedź. smile.gif

Już jest prawie idealnie, lecz zostały jeszcze dwie kwestie. smile.gif
Tekst Suspendisse viverra egestas mauris non pulvinar!, nie jest na środku, oraz brakuję wcięć na początku każdego akapitu. Jakieś pomysły?

Nowy tekst
Go to the top of the page
+Quote Post
Spawnm
post
Post #5





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




No to w takim wypadku pozostaje <pre>
a w przyszłości zaimplementuj sobie jakieś bbcode.
Go to the top of the page
+Quote Post
Owneds
post
Post #6





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

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


Dobra, to na razie zostawię w spokoju. Bbcode dam na końcu. smile.gif

Teraz mam pytanko, dalej odnośnie newsów.
Przerabiam w bardzo znacznym stopniu szablon dla początkujących. Dodałem już sobie boczne menu, oraz div z newsami.
Chciałbym aby po kliknięciu Czytaj dalej, strona rozciągnęła się w dół tak, żeby nie przekierowywało na np: news.php?id=5, tylko tego całego newsa wyświetliło na tej samej stronie.
Tak to teraz wygląda: http://img823.imageshack.us/i/naphp4.png/
Przykład:
Klikam w art3 na Czytaj więcej, to art2 idzie w dół tak, żeby pomieścić całego newsa zawartego w Art3, a poniżej oczywiście dalej jest Art2 i Art1. Da się takie coś wykonać? Jeżeli tak to jeszcze bym prosił, że po rozwinięciu tego newsa dać jakiś odnośnik coś w stylu "Powróć do pierwotnego rozmiaru przed rozwinięciem newsa"
Oraz mój 'nowy' kod:
  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select * from news order by id desc limit 0,5");
  4. while($rekord = mysql_fetch_array($query))
  5. {
  6. include("skrot.php");
  7. $naz .= '<b><h3>'.$rekord[1].'</h3></b>Autor: '.$rekord[3].' - '.$rekord[2].'<p>'.substr($rekord[4], 0, 150).''.$kr.'</p><a href="news.php?id='.$rekord[0].'">czytaj wiecej...</A>';
  8. }
  9. echo '<ul>'.$naz.'</ul>';
  10. ?>
  11.  


Ma ktoś jakiś pomysł? Tak by było najwygodniej, bo nie potrafię przekierować użytkownika na np: news.php?id=5, żeby dalej był mój styl strony itd..., tylko ze zmienionym divem na aktualnego pełnego newsa zamiast trzech najnowszych skrótowych, bo tak jak normalnie przekieruje to jest pusta, biała strona z samym pełnym newsem.

Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Poczytaj o Ajax i jquery.
Go to the top of the page
+Quote Post
Owneds
post
Post #8





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

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


To ma inne pytanko. Jak zrobić żeby jak klikne czytaj dalej, to otwierał się news na xxx.pl/news?id=5, ale dalej była moja stronka, tylko ten div w którym są cztery newsy to był jeden ale pełna wersja, a nie sam skrót tego.
Go to the top of the page
+Quote Post
-Gość-
post
Post #9





Goście







Poczytaj o Ajax i jquery. sleep.gif
Go to the top of the page
+Quote Post
Hpsi
post
Post #10





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Możesz to zrobić za pomocą ajaxu (polecam również jak poprzednicy jquery) ale możesz zrobić to też na zasadzie prostego js

wrzucasz w blog całą zawartość nowości, lecz na dalszą cześć dodajesz np <p style="display:none;" id="nowosc_4">tekst tekst tekst </p> i za pomocą js ustawiasz po kliknieciu czytaj wiecej na display:block;

kolejna opcją którą terotycznie możesz zrobić, to w pobieraniu wyników, sprawdzać jeśli id nowosci = tej co klikneles, dodajesz pole z tekstem - strona ci się odswierza a w nowości o konrektnym id wyswietla się tekst
np rozwiazanie

- zalozenie:
1: link do czytaj wiecej: index.php?a=czytaj&id=5
[php]
$result = mysql_query('select * from nowosci ');
while($r = mysql_fetch_array($result))
{
//wyswietlanie nowosci
// ......
// wyswietlanie tekstu (KROTKIEGO)
if($r['id'] == $_GET['id'])
// wyswietl rowniez dlugi tekst
}


Ten post edytował Hpsi+ 6.05.2011, 14:43:27


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
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 Aktualny czas: 22.08.2025 - 07:15