Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL][BBCODE]
MILICJA
post
Post #1





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


Witam. Mam taki problem. Używam bbcode do wczytania z bazy zmiennej np. [id=4] wczytuje do funkcji i pobieram z bazy zawartość rekordu o id =4. Funkcja zwraca tekst. I tu jest problem :/ Bo kod przedstawiony poniżej niestety nie działa ! :/ Nie proszę o gotowe rozwiązanie, ale chociaż o jakąś podpowiedź. Pozdrawiam.



  1. <?php
  2.  
  3. // zakladamy ze podany w BBcode numer ( [id=] ) istnieje w bazie 
  4.  
  5.  
  6. function zamien ($group_id)
  7. {
  8. $wynik = mysql_query ("SELECT * FROM $table_sql WHERE id='$group_id'"); 
  9. $rekord = mysql_fetch_array ($wynik);
  10. $return ($rekord[tekst]);
  11.  
  12. }
  13.  
  14. $content = preg_replace("#[id=(.*?)]#si",zamien('1'),$content);
  15. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


a to skąd?
  1. <?php
  2. $return ($rekord[tekst]);
  3. // czy tekst to stała ? raczej nie, więc może mialo być...
  4. $return ($rekord[$tekst]);
  5. //ale tak też niedobrze, bo nigdzie nie widać deklaracji $tekst... więc może jedna
    k...
  6. $return ($rekord['tekst']);
  7. ?>

poza tym - nie widać nawiązania połączenia z bazą danych, nie widać inicjacji $table_sql (zmienna globalna wewnątrz funkcji - jeśli nie jest zadeklarowana to jest pusta...) - jesteś pewien, że zapytanie do bazy wykonuje się poprawnie i zwraca to czego oczekujesz?
Go to the top of the page
+Quote Post
MILICJA
post
Post #3





Grupa:
Postów: 31
Pomógł: 3
Dołączył: 25.08.2006

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


Chodzi mi tylko o ten kawalek kodu ktory przedtsawilem. Co do $rekord['tekst'] to jest pobierany z bazy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to jest ok. Nie działa mi przestylanie '//1' z funkcji preg_replace do funkcji zamien('//1'); . Baza danych poprostu nie widzi tej zmiennej.

Zmienna '\1' z preg_replace jest niewidoczna dla zapytania
  1. <?php
  2. $wynik = mysql_query ("SELECT * FROM $table_sql WHERE id='$group_id'");
  3. ?>
Go to the top of the page
+Quote Post
nevt
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


zatem, o ile mnie pamięć nie myli, powinno być...
  1. <?php
  2. $content = preg_replace('#[id=(.*?)]#sie', 'zamien("${1}")', $content);
  3. ?>
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: 22.08.2025 - 14:28