Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Emoty
ferr
post 2.02.2005, 19:45:10
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


  1. <?php
  2. $query = &#092;"SELECT * FROM newsy ORDER BY 'id' DESC LIMIT 5\" ;
  3. $qresult = mysql_query($query);
  4.  
  5. if (mysql_num_rows($qresult) > 0) {
  6.  
  7. $query7 = &#092;"SELECT * FROM emots\";
  8. $result7 = mysql_query($query7);
  9. while ($row7 = mysql_fetch_array($result7))
  10. {
  11. $emoty = array(&#092;"\".$row7[\"emot1\"].\"\" => \"<img src='http://xxx/emots/\".$row7[\"emot2\"].\"'>\" );
  12. }
  13.  
  14.  
  15.  
  16. while ($row = mysql_fetch_array($qresult)) {
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24. if ($_SESSION[&#092;"emots\"]==\"1\")
  25. {
  26.  
  27.  
  28.  $tresc = str_replace($emoty, $emoty, $row[&#092;"tresc\"]);
  29.  
  30. }
  31.  
  32. else {
  33. $tresc = $row[&#092;"tresc\"];
  34. }
  35.  
  36.  
  37. list($ile)=mysql_fetch_row(mysql_db_query('xxx',&#092;"SELECT count(*) FROM kom_news WHERE news LIKE \".$row['id'].\"\"));
  38. echo &#092;"<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" class=g7><tr bgcolor=\"#384B5A\"><td>\".$row[\"tytul\"].\"</td></tr></table>
  39. <table width=&#092;"100%\" cellspacing=\"0\" cellpadding=\"2\" class=g4><tr bgcolor=\"#334B5E\"><td><div align=justify>\".$tresc.\"<p align=right><a href=index.php?co=news&id=\".$row[\"id\"].\" class=link1>skomentuj ($ile)</a></p></td></tr></table><br>\";
  40. } }
  41.  
  42. ?>


w bazie w polu emot1 jest znak do zastapienia a w polu emot2 adres obrazka ktory ma zastapic ten znak. Jak wiec zastapic wszystkie emoty w newsach?

Ten post edytował ferr 2.02.2005, 19:47:03


--------------------
Go to the top of the page
+Quote Post
hwao
post 2.02.2005, 20:13:30
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




strtr" title="Zobacz w manualu PHP" target="_manual()
  1. <?php
  2.  $tresc = strtr( $row[&#092;"tresc\"], $emoty);
  3. ?>

Moze tak?
Go to the top of the page
+Quote Post
ferr
post 2.02.2005, 20:40:54
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


wszystko cacy, tylko widzisz, zastepuje tylko jedna emote, te ktora pierwsza pobral z zapytania. Czyli np. gdy w jednym newsie sa ";)" i ":D" to zastapi tylko ":D".

Moze cos z ukladem petli?

Ten post edytował ferr 2.02.2005, 20:47:44


--------------------
Go to the top of the page
+Quote Post
sf
post 2.02.2005, 20:46:16
Post #4





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Ty jesteś koderem... pokombinuj. Popatrz też do manuala i na komentarze... próbuj i wybierz to co Ci pasuje.


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
ferr
post 2.02.2005, 20:49:11
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


uwierz, ze odwoluje sie do tego forum w ostatecznosci, kiedy brakuje mi pomyslu po wielu probach... W tej sytuacji probowalem juz wiele i nie jakos nie osiagnalem zamierzonego w skrypcie celu... :/


--------------------
Go to the top of the page
+Quote Post
sf
post 2.02.2005, 21:12:08
Post #6





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


No to uwierz, że daleko jako programista nie zajdziesz...
  1. <?php
  2. $emoty = array(';)' => '!!', 'tongue.gif' => '!!');
  3. $zmienna = &#092;"aaa;) tongue.gif tongue.gif sese\";
  4.  
  5. $tresc = strtr($zmienna, $emoty);
  6. echo $tresc;
  7. ?>

Pisze jak wół w manualu, że można stosować tablicę jako drugi argument, a temat był poruszany już nie raz i były podane też inne rozwiązania. Np. z str_replace lub przy użyciu wyrażeń regularnych.


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
ferr
post 2.02.2005, 21:21:59
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


  1. <?php
  2. $query7 = &#092;"SELECT * FROM emots\";
  3. $result7 = mysql_query($query7);
  4. while ($row7 = mysql_fetch_array($result7))
  5. {
  6. $emoty = array(&#092;"\".$row7[\"emot1\"].\"\" => \"<img src='http://xxx/emots/\".$row7[\"emot2\"].\"'>\" );
  7. }
  8.  
  9. ?>


podobne rozwiazanie wlasnie stosowalem, nie dalo jednak rezultatu, bo jak powiedzialem, zastepywalo tylko jedna emote. Po szczegolowej analizie zrozumialem ze powyzszy kod przypisuje tylko jedna wartosc do tablicy emoty. Jak rozwiazac ten problem?

sf: gratuluje mniemania o sobie...

Ten post edytował ferr 2.02.2005, 21:24:29


--------------------
Go to the top of the page
+Quote Post
hwao
post 2.02.2005, 21:25:35
Post #8


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2. // przed petal
  3. $emoty = arrya();
  4. // tam gdzie kiedys tytlko dodaj []
  5. $emoty[] = array( $row7[&#092;"emot1\"] => '<img src=\"http://xxx/emots/'.$row7[\"emot2\"].'\">' );
  6. ?>

Spokojnie chlopaki :-)

Czasme wystarczy tablice wrzucic w print_r" title="Zobacz w manualu PHP" target="_manual() i wsszytko wiadomo :-)
Polecam
pozdro

- mala poprawka
Go to the top of the page
+Quote Post
ferr
post 3.02.2005, 12:54:25
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 3
Dołączył: 18.12.2004

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


  1. <?php
  2. $query7 = &#092;"SELECT * FROM emots\";
  3. $result7 = mysql_query($query7);
  4.  
  5. while ($row7 = mysql_fetch_array($result7))
  6.  
  7.  
  8.  
  9. {
  10. $emoty[] = $row7['emot1'];
  11.  $emoty2[] = '<img src=\"http://xxx/emots'.$row7[&#092;"emot2\"].'\">';
  12.  
  13. }
  14.  
  15. while ($row = mysql_fetch_array($qresult)) {
  16.  
  17.  if ($_SESSION[&#092;"emots\"]==\"1\")
  18. {
  19. print_r($emoty);
  20.  
  21.  
  22.  
  23. $tresc = str_replace( $emoty, $emoty2 , $row['tresc'] );
  24.  
  25.  
  26. }}
  27.  
  28. ?>


tak to rozwiazalem i dziala. Dzieki za pomoc.


--------------------
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 01:39