wersja skryptu MyBB: 1.8.3
adres forum:
na czym polega problem (screen, opis, komunikaty):
Chciałbym się zorientować w którym miejscu (dokument) mam dodać odwłonanie (połączenie) do zewnętrznej bazy danych MySQL oraz później w którym dokumencie mogę wstawiać zapytania MySQL.
Muszę z zewnetrznej bazy danych wyciągnąć informacje do szablonu profilu.
Dzięki za pomoc!
jesli chcesz korzystac z bazy mybb i tej drugiej to musisz napisac plugin
zaczepic sie w pgrofilu i polaczyc z nowa baza
A po co plugin? Chodzi tylko o to gdzie wstawic skrypt polaczenia z baza - do jakiego dokumentu, a dwa jaki dokument pozwala na wykonywania zapytan sql?
EnjoyDM napisał(a):A po co plugin? Chodzi tylko o to gdzie wstawic skrypt polaczenia z baza - do jakiego dokumentu, a dwa jaki dokument pozwala na wykonywania zapytan sql?
Mam wrażenie że sam nie wiesz o co pytasz
w każdym pliku .php możesz wykonać zapytane
Po to plugin bo po to mamy system hookow w mybb
Hmm... może tak, chciałbym wyciągnąć informacje z zewnętrznej bazy danych do szablonu posta, jednak w szablonach nie da rady stosować php w którym wykonujemy zapytanie sql. Dlatego zastanawiam się do jakiego dokumentu mam dodać informacje o połączeniu z bazą oraz w jakim dokumencie powinienem dodać zapytanie sql aby móc w nim wykorzystać zmienną "nazwa użytkownika posta".
Dzięki za pomoc
powtorze
najoptymalniej napisac plugin
Czarna magia
Założenie jest banalne: wyświetlać dane pod awatarem przy każdym poście z zewnętrznej bazy danych
- identyfikatorem (kluczem) po którym dane będą wyświetlane będzie nazwa użytkownika autora posta (zmienna w kodzie szablonu to {$post['username']} )
Czy ktoś bystry jest mi w stanie pomóc? W kodzie PHP ładnie napisałem sobie standardowy kod sql połączenia do bazy i zapytanie ale niestety takiego kodu nie mogę zamieścić w kodzie szablonu
http://docs.mybb.com/1.8/development/plu...e-methods/#$db->select_db
Cuś takiego znalazłem ale nic z tego nie kumam...
w czym dokladnie tkwi problem, skoro zrobiles sam zapytanie to jakieś tam pojecie masz
zobacz w innych kodach na czym polega pisanie pluginow
jesli juz wyskrobiesz jakis kod napisz, podpowiem
Znalazłem plugin pozwalający używać kod PHP w szablonach co mogłoby rozwiązać mój problem ale poza tym że na szybko przetestowałem że działa na funkcji 'echo' to nie mogę już podpiąć bazy danych. W momencie wrzucenia kodu do połączenia z bazą otrzymuję komunikat:
Fatal error: Call to a member function unescape_binary() on a non-object in ***/inc/functions_post.php on line 666
Natomiast wiesz 666 w pliku functions_post.php u mnie to:
$ipaddress = my_inet_ntop($db->unescape_binary($post['ipaddress']));
Znalazłem gdzieś już na forum fragment kodu połączenia z bazą który ładnie działa.
Teraz mam problem z zapytaniem które muszę przerobić bo te które zawsze pisałem w php wykrzaczają się a poniższe przykładowe (również z forum) jest OK. Pomoże mi ktoś to przerobić?
Kod PHP:
$query = mysql_query("SELECT * FROM Tabela");
if($query)
{
$num = mysql_numrows($query);
$i = 0;
$id;
$reason;
while ($i < $num)
{
$uid = mysql_result($query, $i, "JakiesID");
$query2 = mysql_query("SELECT Cos FROM InnaTabela WHERE id=$uid LIMIT 1");
$nick = mysql_result($query2, 0, "Cos");
$id = mysql_result($query, $i, "id");
$reason = mysql_result($query, $i, "CosInnego");
echo "$nick";
$i++;
}
}
else
{
echo "Nie można wykonać zapytania!";
}
Muszę generalnie wyciągnąć z tabeli "test" z którą jestem podłączony informacje z kolumny "tt1" i "tt2" dla usera którego nazwa jest zgodna z nazwą użytkownika posta z którego wywoływane jest to zapytanie. Zapytanie tylko dla 1 usera.
OK. Kolejne postępy. Mogę już wyciągać dane ale nie wiem jak dopisać warunek if aby w przypadku braku danej w bazie nie wyrzucał forum a zwracał "".
Kod PHP:
$ludek = $post['username'];
$query = mysql_query("SELECT * FROM tabelka WHERE nickname=$ludek");
$dzieci = mysql_result($query, 0, "jakastamkolumna");