[PHPBB3] Wyświetlanie Pięciu ostatnich rzeczy z bazy mySQL


(Ramelek Lost) #1

Witam!

Mam problem. Na forum phpBB3 na samej górze chciałem dodać liste pięciu ostatnich banów pobierających się z bazy mySQL. Nie wiem czy napisałem to zbyt zrozumiale.

CHodzi mi o to, że pod logiem i menu głównym ma się wyświetlać ramka z tabelą z wpisami pięciu ostatnich banów do listy mySQL, automatycznie oczywiście

Treść bazy mySQL ( [!] - główna tabela reszta to te podtabele jakby )

[!] amx_bans

player_id

player_nick

ban_reason

ban_lenght

Przykład tabeli:

IP/Nick/ID | Powód | Długość Bana

player_id/player_nick | ban_reason | ban_lenght

Tabela myślę , że raczej zrozumiała.

Proszę o skrypcik. Ja w PHP zbytnio się nie rozumiem ale coś tam się skapnę


(adpawl) #2

chyba nie masz tam przechowywanej nigdzie daty dodania bana :? ...więc do tej tabeli dodajesz jeszcze kolumnę np. o nazwie data typu timestamp , ustawiasz dla niej domyślnie CURRENT_TIMESTAMP

...a potem kod php:

<?php

define('HOST', 'localhost');

define('USER', 'login');

define('PASS', 'hasło');

define('DBASE', 'nazwabazy');


$conn = mysql_connect(HOST,USER,PASS);

$db = mysql_select_db(DBASE,$conn);

if($sql = mysql_query("SELECT * FROM amx_bans ORDER BY data DESC LIMIT 5",$conn))

while ($rekord = mysql_fetch_array($sql))

{

echo $rekord['player_nick'].'
';

}

mysql_close($conn);


?>

(Ramelek Lost) #3

Stworzyłem plik bans.php i wkleiłem to: http://www.wklej.org/id/4e9a0204df - jest tam tabela oraz funckcja include do 3 plików (nick.php , powod.php , dlugosc.php)

nick.php wygląda tak: http://www.wklej.org/id/db32dd2e27

powod.php - http://www.wklej.org/id/f0d9b05ac1

dlugosc.php - http://www.wklej.org/id/bc66045cac

Działa! Jednak chciałbym aby każdy nowy wpis był w nowym wierszu a tak tabela wygląda : 3 kolumny 2 wiersze i tak ciągle. Chciałbym aby każdy z 5 ostatnich banów był w oddzielnym wierszu. Pomoże ktoś?

Wyszło mi coś takiego: http://forum.magicexecutors.pl/bany/bans2.php


(adpawl) #4

Dlaczego rozbijać to na kilka plików i bawić się w include jak w jednym można:

<?php 


// database settings 

$db_host="localhost"; 

$db_user="xxxx"; 

$db_pass="xxxx"; 

$db_name="xxxx"; 

$db_prefix="amx_"; 

define("DB_PREFIX", "amx_"); 


$polaczenie = @mysql_connect('localhost', 'xxxxx', 'xxxx') 


or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error()); 


mysql_select_db('xxxx') or die('Nie udało się wybrać bazy danych'); 


$q = mysql_query('SELECT * FROM amx_bans ORDER BY player_id DESC LIMIT 5');


echo '

| Nick | Powód | Długość |
| ['.$row['player_nick'].'](http://forum.magicexecutors.pl/bany/ban_details.php?bid='.%24row%5B'bid'%5D.') | ['.$row['ban_reason'].'](http://forum.magicexecutors.pl/bany/ban_details.php?bid='.%24row%5B'bid'%5D.') | ['.$row['ban_length'].'](http://forum.magicexecutors.pl/bany/ban_details.php?bid='.%24row%5B'bid'%5D.') |

'; ?> [/code]


(Ramelek Lost) #5

Dzięki! Już wszystko działa