Entwicklung der Scripte für unser Forum
Hallo Leute,
ich wurde schonmal gefragt wie ich die Extra Funktionen erstelle wie die Normag Datenbank, deren Abfragen, die Statistik usw.
Falls es auch andere Interessiert, habe ich mal einen kleinen Bericht dazu verfaßt.
Grundsätzlich ist dieses Forum in der Programmiersprache PHP entwickelt in Verbindung mit MySql die Datenbanksprache.
Man kann diese Programmierung mit jeden Texteditor vornehmen, da ich mittlerweile in mehreren größeren Projekten mitwirke, benutze ich eine Entwicklungsumgebung die einiges etwas einfacher organisiert.
Diese Umgebung ist "Eclipse" darin ist ein Web-Developer Plugin mit dem Namen "Aptana" installiert.
Hier mal ein Bild wie soetwas aussieht:
Wenn ich das Bild mal anklickt und vergrößert, seht ihr auch wie die Programmiersprache PHP aussieht.
Die Funktion die ihr dort seht, ist übrigends die die in der rechten Box des Forums die Galeriebilder per Zufall anzeigt.
Durch diese Entwicklungsumgebung kann ich sehr organisiert und von jeden Rechner auf dem ich sie installiert habe, arbeiten und wenn ich nun z.b. unterwegs etwas mit dem Laptop erstellt habe, schicke ich die Daten auf meinen Server und wenn ich zuhause bin und weiter arbeiten will, gleiche ich die Daten der Entwicklungsumgebung@home mit dem Server ab und weiter gehts.
Auf die selbe Weise könnte man auch organisiert im Team arbeiten.
Normag-forum.de in meiner Eclipse:
So sieht die Datenbankstatistik (die neue in der Box rechts) in meiner Eclipse aus in der ich sie geschrieben habe:
Das ist der PHP-Code dazu:
Code:
function count_db()
{
$conn = db_connect_two();
$query = "select `typ` FROM daten ORDER BY `typ` ASC ";
$result = $conn->query($query);
while($showdata= $result->fetch_assoc())
{
$show_var[] = $showdata['typ'];
}
echo "<table>";
echo "<tr><td>Typ</td><td>Einträge</td></tr>";
$count_Array = array_count_values($show_var);
foreach($count_Array as $key =>$value)
{
echo "<tr><td>$key</td><td>($value)</td></tr>";
}
echo "</table>";
}
und das ist das Thumbnail-Galeriescript:
Code:
function getpathfromgalery($albumid)
{
//$phpbb_root_path = "./../";
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
//$dir = "http://normag-forum.de/forum/files/"; // ergibt ein FORBIDDEN - You don't have permission to access /forum/files/54_d80e8ea5c8a9c2f314cfcb5bc6afc7a5 on this server.
$dir = $phpbb_root_path."/gallery/upload/"; // vollständiger path zum verzeichniss
$conn = db_connect();
$conn->set_charset('utf8'); // set the incoming query to utf-8
$query = "SELECT * FROM phpbb_gallery_images
WHERE image_album_id = '$albumid' ";
$result = $conn->query($query);
while($dataset = $result->fetch_assoc())
{
// create arrays for random select
$arr_src[] = $dir.$dataset['image_thumbnail'];
$arr_user[] = $dataset['image_name'] ;
$arr_date[] = $dataset['image_time'];
$arr_imageid[] = $dataset['image_id'];
}
// count the pics and select one, set the pic depending infos
$count_arr = count($arr_src) -1 ;
$random_arr = rand(0,$count_arr);
$user = $arr_user[$random_arr];
$timestamp = $arr_date[$random_arr];
$show_date = date("d.m.Y",$timestamp);
$imageid = $arr_imageid[$random_arr];
echo "<a href='http://normag-forum.de/gallery/image_page.php?album_id=1&image_id=$imageid'><img src='http://normag-forum.de/forum/$arr_src[$random_arr]' alt='image' width='145'></a><br>";
echo "<span style='color:#444;font-weight:bold;'>Titel:</span> $user<br>";
echo "<span style='color:#444;font-weight:bold;'>Datum:</span> $show_date<br>";
}
Ich hoffe das hat einen kleinen Einblick hinter die Kulissen gegeben, falls nicht könnt ihr gerne Fragen stellen.