Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Baza danych
Forum PHP.pl > Forum > Przedszkole
meron11
Chce zrobić hacka do phpbb by przemo i potrzebuje coś takiego :
1. Jezęli ktoś kliknie na button dodaje do mysql nową komórkę z wartsoscia usera (wiem jak z przema pobrać smile.gif)
2.Jeżeli w bazie mysql jest komórka z nazwą usera to wyświetl obrazek ,jak to najłatwiej zrobić?
pedro84
Hm...ale jaki masz problem? Coś mi się wydaje, że szukasz gotowego kodu, a tutaj Ci nikt takiego nie da.

Możesz to zrobić tak:
1. Kliknięcie => dodanie rekordu do nazy danych
2. Sprawdzenie czy w bazie dany rekord istnieje, jeśli tak, wyświetlasz obrazek.
meron11
W teroi wiem kolego tylko ze w przemie jest jakoś inaczje mysql obsługiwany ,przynajmniej nigdzie w kodize przema i w modyfikacjach zwykłych poleceń do sql smile.gif
pedro84
Hmmm smile.gif Wiem o co Ci chodzi, ale musisz sam trochę zgłębić kod biggrin.gif

Poszukaj w kodzie fragmentu odpowiedzialnego za zapytanie, przeszukaj pliki. Nauczysz się czego i sobie poradzisz, wierzę w Ciebie smile.gif
emtiej
kolego, tworzysz nową klasę z konstruktorem i dodatkową metodę w której deklarujesz jako globalną zmienną $db. Phpbb2 obsługuje jakiś interfejs bazy danych prawdopodobnie napisany przez autorów, nie mam pojęcia jaki, bo nie zaglądałem. Żeby zobaczyć jak wykonywać zapytania ściągnij sobie jakiegoś moda (ja pobrałem beer mod) i w folderze includes jest plik z klasą bazową. Przeanalizuj i może dasz sobie radę. Tu masz kawałek kodu:

  1. class beer
  2. {
  3. var $posts;
  4. var $post_users;
  5. var $user_src;
  6. var $user_dst;
  7. var $users;
  8. var $config;
  9. var $lang;
  10. var $topic_first_post_id;
  11. var $show_sync_errors;
  12. var $topic_replies;
  13.  
  14. function __construct()
  15. {
  16. $this->beer();
  17. }
  18.  
  19. function beer()
  20. {
  21. global $board_config;
  22. // asign mod configuration array
  23. $this->config['enabled'] = $board_config['beermod_enabled'];
  24. $this->config['forums'] = ( $board_config['beermod_forums'] ) ? explode(',', $board_config['beermod_forums']) : '';
  25. $this->config['show_post_beers'] = $board_config['beermod_show_beers'];
  26. $this->config['unhide_bbcode_forums'] = ($board_config['beermod_unhide_forums']) ? $board_config['beermod_unhide_forums'] : '';
  27. $this->config['sync_delay'] = $board_config['beermod_sync_delay'];
  28. $this->config['post_display'] = intval($board_config['beermod_post_display_type']);
  29. $this->config['topic_poster_only'] = intval($board_config['beermod_topic_poster_only']);
  30.  
  31. // checking last synchronization
  32. if ( (time() - $board_config['beermod_last_sync']) > $board_config['beermod_sync_delay'] * 3600 && $board_config['beermod_sync_delay'] )
  33. $this->synchronize();
  34.  
  35. $this->show_sync_errors = 1;
  36. }
  37.  
  38. function synchronize()
  39. {
  40. global $db;
  41.  
  42. // updating board configuration
  43. $sql = " update " . CONFIG_TABLE . "
  44. set config_value = '" . time() . "'
  45. where config_name = 'beermod_last_sync'";
  46.  
  47. if ( !$db->sql_query($sql) && $this->show_sync_errors )
  48. {
  49. message_die(GENERAL_ERROR, 'Synchronization error.', '', __LINE__, __FILE__, $sql);
  50. }
  51.  
  52. // dumping configuration cache
  53. sql_cache('clear', 'board_config');
  54.  
  55. // getting not linked and fake entries
  56. $trash_beers = array();
  57. $sql = " select b.beer_id, b.beer_src, b.beer_dst, p.post_id, p.poster_id, t.topic_id, f.forum_id, u1.user_id as user1, u2.user_id as user2
  58. from " . BEER_TABLE . " b
  59. left join " . POSTS_TABLE . " p ON p.post_id = b.post_id
  60. left join " . TOPICS_TABLE . " t ON t.topic_id = b.topic_id
  61. left join " . FORUMS_TABLE . " f ON f.forum_id = b.forum_id
  62. left join " . USERS_TABLE . " u1 ON u1.user_id = b.beer_src
  63. left join " . USERS_TABLE . " u2 ON u2.user_id = b.beer_dst";
  64. if ( !$db->sql_query($sql) && $this->show_sync_errors )
  65. {
  66. message_die(GENERAL_ERROR, 'Synchronization error.', '', __LINE__, __FILE__, $sql);
  67. }
  68. while ( $row = $db->sql_fetchrow($results) )
  69. {
  70. if ( !$row['post_id'] || !$row['topic_id'] || !$row['forum_id'] || !$row['user1'] || !$row['user2'] || $row['beer_src'] == $row['beer_dst'] || $row['beer_src'] == $row['poster_id'] )
  71. $trash_beers[] = $row['beer_id'];
  72. }
  73. // dumping fake entries
  74.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.