To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Ogólne - Eksport wiadomości z Shoutboxa do pliku

sebastiang - 13-03-2016, 23:14
Temat postu: Eksport wiadomości z Shoutboxa do pliku
Witam, chciałbym wyeksportować do pliku txt bazę wiadomości z Shoutboxa w formacie:
[DD.MM.YY, HH:MM:SS] <nick>: <wiadomość>

Czy jest jakiś prosty sposób na zrobienie tego? Ewentualnie jakiś sposób na wymuszenie shoutboxa żeby pokazał wszystkie wiadomości (zapisałbym sobie wtedy do htmlu)? Baza ma około 600 tys. wpisów.

Dzięki za odpowiedź i przepraszam jeżeli to zły dział.

kooza - 14-03-2016, 17:23

utwórz sobie nowy plik php w głównej kategorii forum i wklej do niego:
Kod:
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$sql = 'SELECT a.sb_user_id, a.msg, a.timestamp, b.user_id, b.username
FROM ' . SHOUTBOX_TABLE . ' a, ' . USERS_TABLE . ' b
WHERE a.sb_user_id=b.user_id
ORDER BY a.timestamp DESC';

$result = $db->sql_query($sql) or die(mysql_error());

while ($row = $db->sql_fetchrow($result))
{
  $msg = $row['msg'];
  $user = $row['username'];
  $czas = ''.create_date($board_config['default_dateformat'], $row['timestamp'], $board_config['board_timezone']).'';
  echo '['.$czas.'] '.$user.': '.$msg.'</br>';
}
?>

później otwórz go w przeglądarce.

sebastiang - 14-03-2016, 21:16

Wszystko pięknie działa, tylko w wiadomościach z dzisiaj nie wyświetla się data tylko sama godzina oraz wiadomości są sortowane od najnowszego do najstarszego, a wolałbym odwrotnie. Dzięki za pomoc i byłbym bardzo wdzięczny gdybyś mógł poprawić to co napisałem wyżej, bo nawet edytowanie tekstu jakimś makrem żeby wyświetlało się odwrotnie wysypuje edytor przy tak dużej ilości wpisów.

Dzięki jeszcze raz za pomoc.

kooza - 14-03-2016, 21:41

sebastiang napisał/a:
tylko w wiadomościach z dzisiaj nie wyświetla się data tylko sama godzina

Jutro pojawi się data :)
sebastiang napisał/a:
oraz wiadomości są sortowane od najnowszego do najstarszego, a wolałbym odwrotnie

W kodzie znajdź DESC i zamień na ASC

sebastiang - 14-03-2016, 22:03

A nie da się zrobić tak, żeby do tych nowych postów też była dodawana data od razu? Dzięki jeszcze raz.
kooza - 14-03-2016, 23:12

to:
Kod:
$czas = ''.create_date($board_config['default_dateformat'], $row['timestamp'], $board_config['board_timezone']).'';

zamień na:
Kod:
$czas = date("d-m-Y, H:i:s", $row['timestamp']);

sebastiang - 15-03-2016, 08:59

Wszystko już jest tak jak chciałem, dzięki wielkie :)


Powered by phpBB modified by Przemo © 2003 phpBB Group