PHP-Einfach.de PHP lernen leicht gemacht

Navigation
» Startseite
» Newsübersicht
» Kontakt
» Impressum

Community
» Forum
» Gästebuch

Tutorial
» PHP Tutorial
» MySQL Tutorial
» PHP
» MySQL
» Codeschnipsel

Downloads
» Einführung
» Scripts
» Command Board

Sonstiges
» md5-Generator
» Generator
» Wissenswertes

PHP lernen


Dieses Projekt wird unterstützt von
Lichteffekte Shop

 
Partner:
PHP Forum
Mathe Nachhilfe
Suchmaschinenoptimierung

[Code] {PHP&Javascript} Einfaches Fotoalbum IMPROVED

Zurück zur Übersicht

So hier kommt die verbesserte Version des Fotoalbums.


Wichtig hierbei: Es sammelt alle bilder in einem album.


Das es verschiedene Alben gibt, kommt später, und auch nur wenn es die Nachfrage dafür gibt.

------gallery.php-----

Als erstes müssen wir in die Datei einen config Bereich einbauen.

Der kommt vor allem anderen in das Dokument.
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:

<?php
//***************************************//
//               Config bereich          //
//***************************************//
         
if(!isset($_GET["seite"]))//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
         
{
                 
$seite 1;
         }
         else
         {
                 
$seite $_GET["seite"];  //Abfrage auf welcher Seite man ist
         
}
//***************************************//
         
require_once ('dbconnect.php');
         
$link mysql_connect("$host","$dbuser","$dbpw") or die ("Keine Verbindung moeglich");
         
mysql_select_db("$dbnum") or die ("Die Datenbank existiert nicht");
//***************************************//
         //Einträge pro Seite: Hier 12 pro Seite
         
$eintraege_pro_seite 12;
         
//Verzeichnis in denen sich die Bilder befinden
         
$dir "pictures";
         
//Zählwert auf 0 setzen
         
$count 0;
         
$count_max 4;
//***************************************//
?>


Das erste ist wichtig, für die Blätterfunktion des Fotoalbums. Als zweites wird die Datenbank verbindung eingebunden. Und als drittes werden einige Variablen festgelegt.

Nun kommt der HTML Bereich bis zum Bodytag.


Dieser Abschnitt ist wichtig, da er die Javascripte und CSS Dateien enthält.


 Code 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript" src="milkbox/mootools-1.2.1-core-yc.js"></script>
<script type="text/javascript" src="milkbox/mootools-1.2-more.js"></script>
<script type="text/javascript" src="milkbox/milkbox.js"></script>
<link rel="stylesheet" type="text/css" href="milkbox/milkbox.css" />

<title>Little Gallery</title>
</head>



Wie ihr seht, braucht ihr einen Ordner namens milkbox und die dazugehörigen Dateien.

Keine Angst, die gibt es am Ende dieses Tutorials zum runterladen.
Einmal als einzelpaket und einmal als Komplettes Script paket.

Nun kommt der Body Teil des Dokumentes. Ich werde erstmal nur den Fotoalbum-Ausschnitt hier posten.

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:

<body>
<div class="highslide-gallery" style="margin: auto">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<?php
         
//**************************************//
         //              Rechnungen              //
         //**************************************//
         
$start $seite $eintraege_pro_seite $eintraege_pro_seite;  //Ausrechen welche Spalte man zuerst ausgeben muss
         //**************************************//

         //**************************************//
         //          Abfragen & Ausgabe          //
         //**************************************//

         
$abfrage "SELECT * FROM images ORDER BY id ASC LIMIT $start, $eintraege_pro_seite";
         
$ergebnis mysql_query($abfrage) OR die("Error: $abfrage <br>".mysql_error());

         while(
$row mysql_fetch_object($ergebnis))
         {
                 if (
$count == 0)
                 {
                         echo 
'<tr>'."\r\n";
                 }

                 echo 
'<td>'."\r\n";

                 
//Hier wird der String erstellt der, den Kern ausmacht.
                 //Er ist in mehrere Abschnitte unterteilt, damit er leichter editierbar ist.
                 
$display         '<a href="';
                 
$display        .= $dir;
                 
$display        .= '/';
                 
$display        .= $row->name;
                 
$display        .= '" rel="milkbox[gall1]"';
                 
$display        .= ' title="';
                 
$display        .= $row->beschreibung;
                 
$display        .= '">'."\r\n";
                 
$display        .= '<img src="';
                 
$display        .= $dir;
                 
$display        .= '/';
                 
$display        .= $row->name;
                 
$display        .= '"';
                 
$display        .= ' width="100"';
                 
$display        .= ' height="100"';
                 
$display        .= ' alt="';
                 
$display        .= $row->alt;
                 
$display        .= '"></a>'."\r\n";

                 echo 
$display;//Den gesamten String ausgeben

                 
$display "";//Display wieder auf "leer" setzen


                 
echo '</td>'."\r\n"//Die Ausgabe eines Bildes beenden

                 
$count $count 1//Den Zähler um 1 erhöhen


                 
if ($count == $count_max//Wenn der Zähler $count_max erreicht erhält, soll er einen Umbruch machen und den Zähler wieder auf 0 setzen.
                 
{
                 echo 
'</tr>'."\r\n";
                 
$count 0;
                 }

         }
//Ende der Whileschleife


                 
if ($count != OR $count != $count_max//Wichtig, falls die Angaben nicht exakt aufgehen
                 
{
                                          echo 
'</tr>'."\r\n";
                         echo 
'<!-- frühzeitiger Umbruch -->'."\r\n";
                 }

                 echo 
'</table>'.'<br>'."\r\n"//Ende der Tabelle

?>


Das mag jetzt ein wenig wuchtig aussehen, ist aber ansich sehr leicht.
Erst wird kurz der Inhalt der Seite näher struckturiert und dann wird das Fotoalbum generiert.

Als erstes wird eine kurze Rechnung durchgeführt. Die benötigen wir aber erst am Ende.

Dann kommen die Abfragen. Hier wird über einen Zähler ($count) die Anzeige gesteuert. Dieser Zähler ist von Nöten um die einzelnen Elemente des Bodys richtig anzuzeigen.

Die Kommentare sollten den Rest erklären. Ansonsten einfach nachfragen.



Nun kommt noch das Inhaltsverzeichnis des Bodys.

Dieser Teil ist aus einem anderem Codeschnipsel von dieser Seite übernommen.
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:

<?php

//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5


//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

$result mysql_query("SELECT id FROM images");
$menge mysql_num_rows($result);

//Errechnen wieviele Seiten es geben wird
$wieviel_seiten $menge $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo 
"<b>Seite:</b> ";


//Ausgabe der Links zu den Seiten
for($a=0$a $wieviel_seiten$a++)
   {
   
$b $a 1;

   
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
   
if($seite == $b)
      {
      echo 
"  <b>$b</b> ";
      }

   
//Aus dieser Seite ist der User nicht, also einen Link ausgeben
   
else
      {
      echo 
"  <a href=\"?seite=$b\">$b</a> ";
      }


   }
echo 
"</div>";
?>


Als letztes wird nun noch der HTML Teil geschlossen und fertig ist das Dokument.

 Code 
1:
2:
3:
4:
</div>
</body>
</html>



So jetzt merken einige vielleicht, das noch was fehlt.

Nämlich die dbconnect.php
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:

<?php
$host 
"localhost";
$dbuser "root";     //benutzername
$dbpw "";        //Passwort
$dbnum "local";    //Datenbank

?>

Das ist alles.

Und nun braucht ihr noch die Datenbank.

Wenn man sich den Code oben anguckt, würde man schon drauf kommen.
Die Datenbank heist 'images' diese hat insgesamt 4 Felder.
-'id'
-'name'
-'beschreibung'
-'alt'

Die ID wird benötigt um das Inhaltsverzeichnis und das Fotoalbum sortiert anzuzeigen.
Der name ist der name der Datei. WICHTIG: bsp. „sun.jpg“ wäre ein eintrag. Also immer die Endung mit dazu schreiben.
Die Beschreibung taucht hier bei den einzelnen Bildern, als Bildunterschrift auf.
Wie im Beispiel wäre es dann. „Die wunderschöne Sonne über den Bergen“
'alt' ist der Text, falls ein Bild nicht gefunden wird oder Leute mit einer behinderung sich eure Seite ansehen wollen.

---
So, damit ist auch das geklärt.

Abschließend kommen noch ein paar wichtige Informationen.

1)Wenn ihr Fragen stellt, bitte NICHT einfach euren veränderten Code hinklatschen, sondern ihn uns auch erklären.
2)Wenn einer hier meckert und sagt 'öh wie scheiße' oder so, soll er es besser machen und einen eigenen Thread eröffnen.
3)Ansonsten nehme ich Fragen und Anregungen gerne auf und freue mich über eure Kommentare.

Demo:
http://vielgeist.bplaced.net

Download:
http://vielgeist.bplaced.net/fotoalbum_vielgeist.rar
Also,
VIEL SPAß


Kommentare

Zurück zur Übersicht

Autor Vielgeist

News
13.08 - » Spam im Gästebuch
Endlich Schluss mit dem Spam

08.12 - » Clanletter 2.0
Clanletter wurde komplett neu programmiert

01.09 - » Command Board 1.0 - 2.0
Das Command Board 1.0 Beta 2.0 ist erschienen


Mehr

Forum
» Entwickler Forum

» insert nach login

» Tabellenzelle zu groß







© PHP-Einfach.de 2003 - 2012