Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skracanie tekstu
Forum PHP.pl > Forum > Przedszkole
Koster
Mam sobie paFileDB i pomyślałem, że warto by było wyświetlać najnawsze pliki na stronie
  1. <?php
  2.  
  3. $path = &#092;"/var/www/html/pafiledb\";
  4. $show = &#092;"10\"; // ilość
  5. $template = &#092;"{info} <a class=\"link\" href=\"{filelink}\">{filename} </a>\";
  6.  
  7. require $path. &#092;"/includes/mysql.php\"; // Tu mam haslo itp.
  8. $pafiledb_sql->connect($db);
  9. $config = $pafiledb_sql->query($db,&#092;"SELECT * FROM $db[prefix]_settings\",1);
  10. {
  11.  $result = $pafiledb_sql->query($db, &#092;"SELECT * FROM $db[prefix]_files ORDER BY file_time DESC LIMIT 0,$show \", 0);
  12.  $info = &#092;"{date}\";
  13. }
  14.  
  15. $i = 1;
  16. while ($file = mysql_fetch_object($result)) {
  17. $line = str_replace(&#092;"{number}\", $i, $template);
  18. $line = str_replace(&#092;"{filelink}\", \"$config[3]/pafiledb.php?action=file&id=$file->file_id\", $line);
  19. $line = str_replace(&#092;"{filename}\", $file->file_name, $line);
  20. $infoline = str_replace(&#092;"{date}\", date(\"j.n.y\", $file->file_time), $info);
  21. $line = str_replace(&#092;"{info}\", $infoline, $line);
  22. echo $line;
  23. $i++;
  24. }
  25. ?>


No więc teraz chciałbym skracać ilość znaków w nazwie do $max="20".
Nie wiem, jak to zrobić. Kombinowałem z "SELECT left()", próbowałem również wplość w to kod:
  1. <?php
  2. $max = &#092;"20\";
  3.  
  4. $dane = &#092;"załóżmy że mamy tu pobrane dane z bazy lub pliku\";
  5. $dane = strip_tags($dane);
  6. $dlugosc = strlen($dane);
  7.  
  8. if($dlugosc > $max){
  9.  
  10. $dane = substr($dane,0,$max);
  11. echo $dane.&#092;"(...)\";
  12. }
  13. else{
  14. echo $dane;
  15. }
  16. ?>

Ale na nic moje starania - nie udało mi się.

Ogółem opiszę efekt jaki chcę osiągnąć:
Obecnie jest:
Kod
data_dodania_pliku                      Dluga Nazwa Mojego Ukochanego Pliku

a chciałbym:
Kod
data_dodania_pliku                      Dluga Nazwa Mojego U(...)

Proszę zwrócić uwagę na "(...)" winksmiley.jpg

Jak to zrobić? Proszę o pomoc...
SongoQ
Pare minut temu @dr_bonzo podal link jak to zrobic http://forum.php.pl/index.php?showtopic=31238&hl=
Koster
Owszem. Czytałem przed napisaniem tego tematu tamten temat, zaglądałem do strony do której prowadzi link i... i nic nie wywnioskowałem. Było tam o tym left, ale nie umiem wplość go w moje zapytanie do bazy.
SongoQ
  1. SELECT LEFT(pole, 20)
  2. FROM tabela
Koster
Udało mi się wyciągać ileś znaków za pomocą takiego zapytania, ale powstał kolejny problem. Jak to połączyć z tym co już mam (pierwszy post)
Mianowicie zapytanie powinno być segregowane według pola file_time z limitem na 10 rekordów
(czyli te moje nieszczęsne:
  1. "SELECT *
  2. FROM pafiledb_files ORDER BY file_time DESC LIMIT 0, 10"

)
oraz wyciągać tylko 20 znaków od lewej strony
(czyli:
  1. "SELECT left(file_name, 180) as shortfilename
  2. FROM pafiledb_files"

).
Jak mogę z tego utworzyć jedno zapytanie? (spodziwam się, że będzie to z wykorzystaniem AND, może WHERE)

Pomóżcie proszę, bo na bazach się nie znam dobrze (a raczej nawet mizernie).
(głowię się nad tym już baaardzo długo)
SongoQ
  1. SELECT
  2. LEFT(file_name, 180) AS shortfilename
  3. FROM pafiledb_files ORDER BY file_time DESC LIMIT 0, 10
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.