Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyciąganie max 250 znaków z tabeli
Nightwalker
post
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 5.02.2006
Skąd: Bytom

Ostrzeżenie: (10%)
X----


Witam
Pewnie to jest banalne ale nie potrafie sobie z tym poradzic, korzystajac z roznych poradnikow napisalem modul do postnuke ktory wyciaga posty z danej kategorii na moim forum na skrypcie IPB 2.0.4, dziala dobrze ale jest pewien mały problem, mianowicie skrypt wyciąga i wyświetla cały news, jak zrobić aby wyświetlał pierwsze 250 znaków newsa? aha i żeby go zakańczał "..."

Dziękuje za odpowiedź
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


  1. SELECT CONCAT(SUBSTRING(pole,1,250),'...') AS pole
  2. FROM tabela
Go to the top of the page
+Quote Post
Nightwalker
post
Post #3





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 5.02.2006
Skąd: Bytom

Ostrzeżenie: (10%)
X----


dzięki, ale nie wiem, u mnie to jakoś nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) może źle to wpisuje... skrypt wygląda tak:

  1. <?php
  2.  
  3. $dbhost = 'localhost';
  4.  
  5. $dbname = 'nazwa_bazy';
  6.  
  7. $dbusername = 'user_bazy';
  8.  
  9. $dbpassword = 'haslo_bazy';
  10.  
  11. $forumpath = 'http://forum.smallville.pl';
  12.  
  13. $forumid = '17';
  14.  
  15. $posts = '5';
  16.  
  17. $emoticons = 'default';
  18.  
  19. $img_dir = 'Yelonero';
  20.  
  21.  
  22. mysql_connect ($dbhost, $dbusername, $dbpassword);
  23. mysql_select_db ($dbname);
  24. $topics = mysql_query ("select* from _ipb_topics where forum_id=".$forumid." order by start_date desc");
  25. $numberPosts = mysql_query ("select* from _ipb_forums where id=".$forumid."");
  26. $maxposts = mysql_fetch_array($numberPosts);
  27. if ($maxposts['topics']<$posts) {$posts=$maxposts['topics'];}
  28. for ($i=0; $i <$posts; $i++)
  29. {
  30. $topicrow = mysql_fetch_array($topics);
  31. $titleid = $topicrow["tid"];
  32. $topictitle = ($topicrow["title"]);
  33. $postq = mysql_query ("SELECT * FROM `_ipb_posts` where topic_id = ".$titleid." order by post_date");
  34. $postfetch = mysql_fetch_array($postq);
  35. $post = $postfetch["post"];
  36. $authorid = $postfetch["author_id"];
  37. $unixdate = $topicrow["start_date"];
  38. $date = date("H:i, j F Y",$unixdate);
  39. $author = $topicrow["starter_name"];
  40. $post = str_replace('<#EMO_DIR#>', $emoticons, $post); 
  41. $post = str_replace('<#IMG_DIR#>', $img_dir, $post);
  42.  
  43. // Zamiana utf-8 na iso-8859-2 (przy znacznikach html)
  44. $post = str_replace('&lt;', '<', $post);
  45. $post = str_replace('&gt;', '>', $post);
  46. $post = str_replace('&quot;', '"', $post);
  47.  
  48. // Zmiana nazw dat z Angielskich na Polskie (niedokończyłem tego jeszcze)
  49. $date = str_replace('February', 'Luty', $date);
  50.  
  51. echo ('<LINK REL="Stylesheet" HREF="http://forum.smallville.pl/style_images/newscss.css" TYPE="text/css">
  52. <style type="text/css">
  53. <!--
  54. .style1 {
  55. font-size: 14px;
  56. font-family: Verdana, Arial, Helvetica, sans-serif;
  57. color: #009900;
  58. }
  59. .style2 {color: #000000}
  60. -->
  61. </style>
  62. <table width="95%" border="0" cellpadding="4" cellspacing="0">
  63. <tr>
  64. <td colspan="2" class="style1"><a href="http://forum.smallville.pl/index.php?showtopic='.$titleid.'">'.$topictitle.'</a></td>
  65. </tr>
  66. <tr>
  67. <td colspan="2" class="style2"><div align="justify">'.$post.'<br />
  68. <br />
  69. </div></td>
  70. </tr>
  71. <tr>
  72. <td align="left" valign="middle" class="style2"><a href="http://forum.smallville.pl/index.php?showuser='.$authorid.'.php">'.$author.'</a> @ '.$date.'</td>
  73. <td align="right" valign="middle" class="style2"><a href="http://forum.smallville.pl/index.php?showtopic='.$titleid.'"><img src="images/print.gif" border="0" alt=""> Komentarze</a></td>
  74. </tr>
  75. </table>
  76. <hr><br />');
  77. }
  78. ?>


Gdzie powinienem to wstawic? (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

Pozdrawiam

Ten post edytował Nightwalk 5.02.2006, 15:43:47
Go to the top of the page
+Quote Post
spenalzo
post
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


A gdzie wyciągasz te tematy? Tzn którym zapytaniem?
Go to the top of the page
+Quote Post
Nightwalker
post
Post #5





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 5.02.2006
Skąd: Bytom

Ostrzeżenie: (10%)
X----


tym:

  1. <?php
  2. $postq = mysql_query ("SELECT * FROM `_ipb_posts` where topic_id = ".$titleid." order by post_date");
  3. ?>


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
spenalzo
post
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


  1. <?php
  2. $postq = mysql_query ("SELECT *,CONCAT(SUBSTRING(pole,1,250),'...') as pole FROM `_ipb_posts` where topic_id = ".$titleid." order by post_date");
  3. ?>

Czy to takie trudne? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował spenalzo 5.02.2006, 16:04:19
Go to the top of the page
+Quote Post
Nightwalker
post
Post #7





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 5.02.2006
Skąd: Bytom

Ostrzeżenie: (10%)
X----


niestety, dla mnie to nie jest takie proste (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

użyłem kodu któy mi podaleś i skrypt zwraca błąd

  1. <?php
  2. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/chesterb/public_html/themes/Smallville--/summary.html on line 34
  3. ?>


http://smallville.pl/themes/Smallville--/summary.html

Ps. nie sugeruj się że rozszerzenie jest .html, mam w .htaccess ustawione aby html traktował jako php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Nightwalk 5.02.2006, 16:45:11
Go to the top of the page
+Quote Post
spenalzo
post
Post #8





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


To daj sobie mysql_error i pokaż jaki błąd wyrzuca.

Oczywiście rozumiem, że zmieniłęś nazwę pola na taką jaką masz w bazie?
Go to the top of the page
+Quote Post
Nightwalker
post
Post #9





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 5.02.2006
Skąd: Bytom

Ostrzeżenie: (10%)
X----


właśnie zapomniałem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Gdyby ktoś nie wiedział, pole to "post"

Dzięki! jesteś wielki (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

//Edit
Ten ucinanie posta strasznie wygląda (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) można zrobić coś takiego że np pokazuje tekst do kropki a reszte ucina?

Pozdrawki

Ten post edytował Nightwalk 5.02.2006, 17:39:28
Go to the top of the page
+Quote Post
spenalzo
post
Post #10





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


  1. SELECT CONCAT(SUBSTRING_INDEX(pole,'. ',2),'...') AS pole
  2. FROM tabela

Dostaniesz dwa pierwsze zdania - oczywiście o ile są one poprawnie zakończone, tzn ". " - kropka i spacja.


Edit:
a jak zrobić, żeby pokazywal pierwsze 50 wyrazów zostawiam jako zadanie domowe (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował spenalzo 5.02.2006, 17:57:28
Go to the top of the page
+Quote Post

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: 21.12.2025 - 19:22