Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL][BBCODE]
MILICJA
post 27.12.2007, 12:02:22
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. ?>


--------------------
Pomogłem ? Nie zapomnij kliknąć na "Pomógł" ;D
Go to the top of the page
+Quote Post
nevt
post 27.12.2007, 12:57:26
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?


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
MILICJA
post 27.12.2007, 13:04:51
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 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. ?>


--------------------
Pomogłem ? Nie zapomnij kliknąć na "Pomógł" ;D
Go to the top of the page
+Quote Post
nevt
post 27.12.2007, 13:25:32
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. ?>


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 23.06.2025 - 16:57