IFD:WebAdvancedII/Carlo Enke: Difference between revisions

From Medien Wiki
Line 24: Line 24:
<pre>
<pre>
<?php
<?php
  $sql = "
  (
  SELECT
    news.news_id AS id,
    news.news_title AS title,
    LEFT(news.news_body, 100) AS body,
    news.time AS time,
    'news' AS `type`
  FROM
    news
  )
  UNION ALL
  (
  SELECT
    posts.post_id AS id,
    posts.post_title AS title,
    LEFT(posts.post_body, 300) AS body,
    posts.time AS time,
    'posts' AS `type`
  FROM
    posts
  )
  UNION ALL
  (
  SELECT
    albums.album_id AS id,
    albums.album_title AS title,
    LEFT(albums.album_body, 200) AS body,
    albums.time AS time,
    'albums' AS `type`
  FROM
    albums
  )
  ORDER BY
    time desc
  ";


$sql = "
$qry = mysql_query($sql);
(
while( $row = mysql_fetch_object($qry) )
SELECT
{
news.news_id AS id,
if($row->type == "posts"){
news.news_title AS title,
echo "<div class='index_post'><div class='ip_img'><img src='admin/core/post_image/default.jpg' width='100px'></div><div class='post'><a href='blog_read.php?pid=" . $row->id . "'><h1>" . utf8_encode($row->title) . "</h1></a>" . utf8_encode($row->body) . "<hr/><font size='1' color='#aaa'>Blogeintrag vom " . date("d.m.Y", $row->time) . "</font></div></div>";
LEFT(news.news_body, 100) AS body,
}else if($row->type == "news"){
news.time AS time,
echo "<div class='news'><h1>" . utf8_encode($row->title) . "</h1>" . utf8_encode($row->body) . "<hr/><font size='1' color='#aaa'>" . date("d.m.Y", $row->time) . "</font></div>";
'news' AS `type`
}else if($row->type == "albums"){
FROM
echo "<div class='news'><a href='view_album.php?album_id=" . $row->id . "'><h1>" . utf8_encode($row->title) . "</h1></a>" . utf8_encode($row->body) . "<br/><br/><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><br/><br/><br/><br/><br/><hr/><font size='1' color='#aaa'>erstellt am " . date("d.m.Y", $row->time) . "</font></div>";
news
}
)
}
UNION ALL
(
SELECT
posts.post_id AS id,
posts.post_title AS title,
LEFT(posts.post_body, 300) AS body,
posts.time AS time,
'posts' AS `type`
FROM
posts
)
UNION ALL
(
SELECT
albums.album_id AS id,
albums.album_title AS title,
LEFT(albums.album_body, 200) AS body,
albums.time AS time,
'albums' AS `type`
FROM
albums
)
 
ORDER BY
time desc
";
$qry = mysql_query($sql);
while( $row = mysql_fetch_object($qry) )
{
if($row->type == "posts"){
echo "<div class='index_post'><div class='ip_img'><img src='admin/core/post_image/default.jpg' width='100px'></div><div class='post'><a href='blog_read.php?pid=" . $row->id . "'><h1>" . utf8_encode($row->title) . "</h1></a>" . utf8_encode($row->body) . "<hr/><font size='1' color='#aaa'>Blogeintrag vom " . date("d.m.Y", $row->time) . "</font></div></div>";
}else if($row->type == "news"){
echo "<div class='news'><h1>" . utf8_encode($row->title) . "</h1>" . utf8_encode($row->body) . "<hr/><font size='1' color='#aaa'>" . date("d.m.Y", $row->time) . "</font></div>";
}else if($row->type == "albums"){
echo "<div class='news'><a href='view_album.php?album_id=" . $row->id . "'><h1>" . utf8_encode($row->title) . "</h1></a>" . utf8_encode($row->body) . "<br/><br/><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><br/><br/><br/><br/><br/><hr/><font size='1' color='#aaa'>erstellt am " . date("d.m.Y", $row->time) . "</font></div>";
}
}
?>
</pre>
</pre>
aufgerufen und nach Datum des Eintrages sortiert.
aufgerufen und nach Datum des Eintrages sortiert.

Revision as of 09:11, 17 September 2012

OFG oder SV OFFROAD FREUNDE GREIZ e.V.

Idee und Konzept

Hierbei handelt es sich um eine Website für einen, wie schon in der Überschrift geschrieben, Offroadverein. Ganz nach den Wünschen des Vorstandes wird die Seite gestaltet und mit Funktionen versehen.

Der Verein kam schon im Frühjahr auf mich zu mit der Idee einer Website, die zu ihnen passt, deren Farben beinhaltet und gleich auf das Thema "OFFROAD" verweist. Nach langen Vorbesprechungen waren die ersten Konzepte fertig und eine Seite mit dem WOW!-Effekt erblickt so langsam und sicher das Licht der Welt. Zu den gewünschten Funktionen gehören unter anderem eine Übersicht der Events mit verschieden Kategorien, ein Blog, Gästebuch, Fotoalben und natürlich eine Verknüpfung mit den Netzwerken Youtube und Facebook. Hinter allen Funktionen steht eine Art CMS, dass ich selbst schreibe.

Der "Hintergrund" der Website wird mit einem Paralaxeffekt animiert und mit dem Vordergrund verschmelzen.

Techniken

Die gesamte Website wurde mit Hilfe von HTML 5 und CSS 3 erstellt. Um die Seite dynamischer zu gestalten, habe ich zudem PHP und jQuery verwendet. Inhalte können von den Mitgliedern des Vereins über ein auf die Seite angepasstes selbstgeschriebenes CMS hinzugefügt, geändert oder gelöscht werden.

Im Hintergrund der Seite werden alle Daten in einer SQL-Datenbank gespeichert und abgerufen.

Inhalte

Auf der Startseite ist das zentrale Element das Newssystem. Hier wird ähnlich der der Pinnwand bei Facebook angezeigt, wenn neue Alben, Blogeinträge und News hinzugefügt wurden. Diese werden über den Aufruf

<?php
  $sql = "
  (
  SELECT
    news.news_id AS id,
    news.news_title AS title,
    LEFT(news.news_body, 100) AS body,
    news.time AS time,
    'news' AS `type`
  FROM
    news
  )
  UNION ALL
  (
  SELECT
    posts.post_id AS id,
    posts.post_title AS title,
    LEFT(posts.post_body, 300) AS body,
    posts.time AS time,
    'posts' AS `type`
  FROM
    posts	
  )
  UNION ALL
  (
  SELECT
    albums.album_id AS id,
    albums.album_title AS title,
    LEFT(albums.album_body, 200) AS body,
    albums.time AS time,
    'albums' AS `type`
  FROM
    albums	
  )
  ORDER BY
    time desc
  ";

$qry = mysql_query($sql);
while( $row = mysql_fetch_object($qry) )
{
if($row->type == "posts"){
echo "<div class='index_post'><div class='ip_img'><img src='admin/core/post_image/default.jpg' width='100px'></div><div class='post'><a href='blog_read.php?pid=" . $row->id . "'><h1>" . utf8_encode($row->title) . "</h1></a>" . utf8_encode($row->body) . "<hr/><font size='1' color='#aaa'>Blogeintrag vom " . date("d.m.Y", $row->time) . "</font></div></div>";
}else if($row->type == "news"){
echo "<div class='news'><h1>" . utf8_encode($row->title) . "</h1>" . utf8_encode($row->body) . "<hr/><font size='1' color='#aaa'>" . date("d.m.Y", $row->time) . "</font></div>";
}else if($row->type == "albums"){
echo "<div class='news'><a href='view_album.php?album_id=" . $row->id . "'><h1>" . utf8_encode($row->title) . "</h1></a>" . utf8_encode($row->body) . "<br/><br/><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><div class='index_album'></div><br/><br/><br/><br/><br/><hr/><font size='1' color='#aaa'>erstellt am " . date("d.m.Y", $row->time) . "</font></div>";
}
}

aufgerufen und nach Datum des Eintrages sortiert.