Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Pobranie fragmentu rekordu, i opcja "czytaj więcej"
piotrek24
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 22.07.2006

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


Bynajmniej nie chodzi o pobranie samego fragmentu rekordu, ale o wyświetlenie (bądź nie) opcji "czytaj więcej".

Założenia są takie:
  • jak wiadomość jest dłuższa od 160 znaków, pobieramy ich około 140 i dodajemy opcje "czytaj więcej", gdzie po kliknięciu pobieramy na osobnej stronie pełną wiadomość.
  • jak wiadomość jest krótsza od 160 znaków pobieramy go w całości nie umieszczając obok niego opcji "czytaj więcej".
I teraz kod:

  1. <?php
  2. $zapytanie = mysql_query("SELECT 
  3. IF(LENGTH(wiadomosc_tresc)>160, SUBSTRING(wiadomosc_tresc, 1, LOCATE(' ', wiadomosc_tresc, 140)), 0) as wiadomosc_skrocona, 
  4. IF(LENGTH(wiadomosc_tresc)<160, wiadomosc_tresc, 0) as wiadomosc_pelna 
  5. FROM wiadomosci") or die(mysql_error());
  6. if(mysql_num_rows($zapytanie) > 0)
  7. {
  8. while($dane = mysql_fetch_assoc($zapytanie))
  9. {
  10. // tutaj wyświetlamy treść wiadomości
  11. if($dane['wiadomosc_pelna'] == 0)
  12. {
  13. // tutaj wyświetlamy opcje "czytaj więcej"
  14. }
  15. elseif($dane['wiadomosc_skrocona'] == 0)
  16. {
  17. // tutaj nie wyświetlamy opcji "czytaj więcej"
  18. }
  19. }
  20. }
  21. ?>


Wykorzystałem w tym przykładzie dwa warunki IF i chciałem zapytać czy jest to "optymalnie" zrobione?. Może ma ktoś jakiś inny lepszy pomysł rozwiązania takiego problemu?

Ten post edytował piotrek24 19.09.2007, 10:00:25
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: 19.08.2025 - 06:29