Login  Regeln Aktuelles Datum und Uhrzeit: 08.09.2008, 16:21  
Startseite
Registrieren
Profil
Suchen
Mitgliederliste
Verzeichnis
Impressum



Partner
kostenlose Homepage
Fussball
Kostenloses Forum
SMS kostenlos
Webhosting
Webmasterportal
Kostenlos
Kredit ohne Schufa
Esoterik-Forum
Selbsthilfeforum
Artikel Backlink
Datenrettung
Probleme bei Fotogalerie

 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Serverseitige Websprachen
Vorheriges Thema anzeigen Nächstes Thema anzeigen 
Autor Nachricht
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 30.08.2007, 12:37    Titel: Probleme bei Fotogalerie Antworten mit Zitat

Hallo,

ich habe Probleme bei einer Homepage die ich für eine Band mache!
Es soll auf dieser Homepage eine Fotogalerie drauf!
So, dann hab ich mir Gedanken gemacht wie der Userbereich aussehen kann für so eine Galerie.
Ich kam aber nur auf die Idee - da der eigentliche Startseitenbereich sehr sehr klein ist, das ich nur mit Tabellen arbeiten kann. Das insgesamt 9 Fotos aus einer DB angezeigt werden!
Drei Zeilen und drei Spalten!.
Aber - das bekomme ich nicht ganz hin, da ich nicht möchte das die Tabelle schon direkt am Anfang steht, trotzdem keine Bilder z.B. in einer Kategorie sind.
Ich muss irgendwie mit for und while Schleifen arbeiten, aber wie genau?? Ich komm da irgendwie nicht weiter.
Ihr könnt euch mal die URL ansehen der ganzen HP:
http://www.happyjumble.de

Ich dachte ganz optimal wäre es, wenn man das Bild mit den meisten "Hits" auf der Startseite der Galerie anzeigt und dann auf die jeweilige Kategorie klickt (sie auswählt) und dann die alle Bilder der Kategorie angezeigt werden, wie oben beschrieben.

Nur - wie????

Es wäre sehr schön wenn mir einer da helfen könnte!
Die Band "sitzt mir im Nacken mit der Zeit" ^^

Danke

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
JFM
Beliebter [User]
Beliebter



Anmeldung: 25.09.05
Beiträge: 324
Wohnort: Gütersloh

BeitragVerfasst am: 30.08.2007, 13:38    Titel: Antworten mit Zitat

Reicht es nicht, wenn du der Tabelle eine feste Breite gibst.
Deine Thumbnails scheinen ja immer die gleiche größe zu haben.
Wenn die Thumbnails nun zB. 100px breit sind und die Tabelle hat eine max. größe von 350px so wird nach dem dritten Bild automatisch ein Umbruch erzeugt und die folgenden drei Bilder werden in der nächsten Zeile ausgegeben.

Den Abstand zwischen den Bildern lässt sich ganz einfach mit CSS festlegen.

Und das nur max. 9 Bilder auf der Seite ausgegeben werden ist ja ein Problem das man mit der SQL abfrage Lösen kann.

SELECT * FROM bilder ORDER BY aufrufe LIMIT 0,9

_________________
http://www.FCG-Frauen.de
JFM:Blog
'Was zum Töten animiert, gehört verboten' (Edmund K.)
War Ede nicht derjenige, der Bruno hat erschießen lassen?


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 30.08.2007, 14:46    Titel: Antworten mit Zitat

hallo, ja - generell ist es das.
Aber - SQL soll alle Bilder auslesen, aber PHP auf einer Seite nur max 9 Bilder anzeigen und danach wie im GB (per Switch) auf "Seite 2") übergehen!

Das GB hat ein anderer gemacht der das für mich viel zu verwirrend programmiert hat. Ich denke das - geht an sich einfacher. Aber - ich weis nicht wie.

Guck dir auch mal bitte das GB an!

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
JFM
Beliebter [User]
Beliebter



Anmeldung: 25.09.05
Beiträge: 324
Wohnort: Gütersloh

BeitragVerfasst am: 30.08.2007, 16:08    Titel: Antworten mit Zitat

Sagen wir es sind 20 Bilder in einer Galerie vorhanden, dann Rechnest du zuerst aus wie viele Seiten du à 9 Bilder benötigst:
Code:

$anzahl_seiten = $row->bildmenge/9;

Damit du keinen ungeraden Wer erhälst, musst du den errechneten Wert noch auf die nächste ganze Zahl aufrunden:
Code:

$anzahl_seiten = ceil($anzahl_seiten);


Dann weist du jetzt schon wie viele Seiten du hast.
So könntest du mit einer While-Schleife eine Navigation für die Weiteren Seiten einbauen:
Code:

$ii = 1;
while($anzahl_seiten !=0)
{
<a href=index.php?page=$i>[$ii]</a>
$i++;
$ii++;
$anzahl_seiten--;
}


Damit hast du dann die möglichkeit für deine Datenbankabfrage auszurechnen welche Bilder ausgegeben werden sollen.

Code:

if($page=='')
{
$sql_start = 0;
$sql_end  = 9;
}
else
{
$sql_start = $_GET[page]*9+1;
$sql_end = $sql_start + 8;
}


Die Variable musst du dann in die Datenbankabfrage einbauen:
Code:

(...)LIMIT $sql_start,$sql_end



Irgendwie so würde ich das wohl versuchen. Kann gut sein das es bessere Lösungen gibt, aber davon weiß ich dann nichts Winken [/quote]

_________________
http://www.FCG-Frauen.de
JFM:Blog
'Was zum Töten animiert, gehört verboten' (Edmund K.)
War Ede nicht derjenige, der Bruno hat erschießen lassen?


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 30.08.2007, 18:00    Titel: Antworten mit Zitat

Also ehrlich gesagt, hab ich deine Lösung nicht verstanden! Traurig
sorry Traurig

Aber, die Lösung von dem Kollegen der das gb programmiert hat verstehe ich auch nicht so ganz ^^ Traurig(
Geht das nicht einfach als so?
Code:

<?php
   function gb_index()
         {


                 if(isset($_GET['subm']))
            {
                    if($_GET['subm'] == 1)
                    {
                       require('gb_verfassen.php');
                            guestbook_verfassen();
                    }
                    else if($_GET['subm'] == 2)
                    {
                       require('gb_insert.php');
                            guestbook_insert();
                    }
                    else
                    {
                    echo 'Fehlerhaftes Submenu';
                    }
            }
            else
            {

               $count = @mysql_query('Select count(*) from guestbook') or die('Fehler bei einer Select Abfrage');
               while($row = @mysql_fetch_array($count))
               {
                  $anzahl_betraege = $row['count(*)'];
               }

                         $limit = $anzahl_betraege / 10;
                         $limit = ceil($limit);
                         $counter = $limit;
                         //$counter=0;
                         //echo "$limit <br/>";
                         echo'
                         <div align="center">
                         ';
                                 echo '
                                 <a href="' . $_SERVER['PHP_SELF'] . '?menu=gb&limit='. $limit .'">['. $limit .']</a>&nbsp;
                                 ';
                                 while($counter > 1)
                            {
                               $counter = $counter - 1;

                               echo '
                               <a href="' . $_SERVER['PHP_SELF'] . '?menu=gb&limit='. $counter .'">['. $counter .']</a>&nbsp;
                               ';

                            }

                         echo'
                         </div>
                         ';

                         if(!isset($_GET['limit']))
                         {
            $ausgabe = @mysql_query('select id, name, email, datum, homepage, inhalt, kommentar from guestbook order by id desc limit 10');
            if (!$ausgabe)
            {
               exit('Fehler beim Ausführen:' . mysql_error() .'<br />');
            }



                         }
                         else
                         {
                                 //echo "$anzahl_betraege \n <br/>";
                                 $limit = $_GET['limit'] * 10;
                                 //echo "$limit <br/>";
                                 //$limit = $anzahl_betraege
                                 $start = $anzahl_betraege - $limit;
                                 //$limit--;

                                 //echo "$start <br/>";
                                 $max = 10;
                                 if($start < 0)
                                 {
                                         //echo "$start <br/>";
                                         $max = 10 + $start;
                                         //echo $max;
                                         $ausgabe = @mysql_query("select id, name, email, datum, homepage, inhalt, kommentar from guestbook order by id desc limit 0 , $max");
                                         $anzahl_betraege = ($_GET['limit'] -1) * 10 + $max;
                                 }
                                 else
                                 {
                                    $ausgabe = @mysql_query("select id, name, email, datum, homepage, inhalt, kommentar from guestbook order by id desc limit $start , $max");
                                         $anzahl_betraege = ($_GET['limit']) * 10;
                                 }
                                 //echo "select id, name, email, datum, homepage, inhalt, kommentar from guestbook limit $limit , $max";
                                 if (!$ausgabe)
            {
               exit('Fehler beim Ausführen:' . mysql_error() .'<br />');
            }
                         }

                         echo '
                         <p align="center">
                         <a href="' . $_SERVER['PHP_SELF'] . '?menu=gb&subm=1">Einen eigenen Beitrag verfassen</a>
                         </p>
                         ';

                         while($row = mysql_fetch_array($ausgabe))
         {
                            $kommentar = $row['kommentar'];
            $kommentar = htmlspecialchars($kommentar);
            $kommentar = ereg_replace("\n","<br />", $kommentar);
                            $inhalt = $row['inhalt'];
            $inhalt = htmlspecialchars($inhalt);
            $inhalt = ereg_replace("\n","<br />", $inhalt);

            echo '
            <fieldset>
                    <legend>Beitrag Nr.  '. $anzahl_betraege .'</legend>
                      <table width="400px" align="center">
                         <tr>
                     <td><a href="mailto:'. $row['email'] .'">'. $row['name'] .'</a> schrieb am '. $row['datum'] .'</td>
                  </tr>
                          <tr>
                           <td>'. $inhalt .'</td>
                                  </tr>
                                 ';
                               if($kommentar != NULL)
                               {
                                  echo '
                                  <tr>
                                     <td><i><br/>Kommentar:</i></td>
                                  </tr>
                                  <tr>
                                     <td><i>'. $kommentar .'</i></td>
                                  </tr>
                                                 ';
                               }
                            echo '
                        </table>
                          <br />
            </fieldset>
            <br />
                   ';
                                 if(isset($_GET['limit']))
                                 {
                          $anzahl_betraege = $anzahl_betraege - 1;
                                 }
                                 else
                                 {
                                    $anzahl_betraege = $anzahl_betraege - 1;
                                 }
         }

            echo '
                 <p align="center">
                    <a href="' . $_SERVER['PHP_SELF'] . '?menu=gb&subm=1">Einen eigenen Beitrag verfassen</a>
                         </p>
                 ';
            }
         }
?>


Ich muss dazu sagen, bitte nicht auf die "Eigenarten" des Programmierers achten ^^
er liebt offensichtlich für alles was er programmiert Funktionen ^^ auch wenn sie unnötig sind, und benutzt etliche if Abfragen wo ich einfach eine einzige switch Abfrage benutzen würde! Smilie

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
JFM
Beliebter [User]
Beliebter



Anmeldung: 25.09.05
Beiträge: 324
Wohnort: Gütersloh

BeitragVerfasst am: 30.08.2007, 19:49    Titel: Antworten mit Zitat

Also die Seitennavigation ist von der Idee her eigentlich genauso wie bei meinem Vorschlag.

Habe das mal schnell umgesetzt, allerdings ohne Datenbank. Das müsste man noch implementieren. Aber im Groben sähe das dann so aus:



Code:

      <?
$count_pic    = 12; //Anzahl der Bilder in der Galerie
$pic_per_page = 9; //anzahl der Bilder die auf einer Seite angezeigt werden sollen

$pages    = ceil($count_pic/$pic_per_page); Berechnen wieviele Seiten benötigt werden

$page_num = 1; //variable für die Ausgabe der Seiten

if($_GET[page] =='') //wenn keine Angabe über die Seite mitgeliefert wird
{
$start = 1;         //werden die ersten neun Bilder ausgegeben
$end   = 9;
}
else
{
$start = $_GET[page]*9+1; //andernfalls wird anhand der Seite die Aufgerufen wurden
$end   = $start + 8;      //berechnet welche Bilder aufgerufen werden sollen
}
if($end > $count_pic)      //prüfen ob es genug Bilder gibt oder ob die Abfrage vorher abgebrochen werden muss
{
$end = $count_pic;         //die Ausgabe wird beim letzten Bild abgebrochen
}
while($start <= $end)               
{
echo"<img src=galerie_1/$start.jpg>";      //bilder X-Fach ausgeben
$start++;                           //variable um 1 erhöhen
}   
echo"<br />";
while($i != $pages)                     //schleife für die Navigation
{
echo"<a href=?page=$i>[Seite $page_num]</a> ";      //Navigation X-Fach ausgeben
$i++;                              //variable um 1 erhöhen                              
$page_num++;                        //variable um 1 erhöhen
}
?>

_________________
http://www.FCG-Frauen.de
JFM:Blog
'Was zum Töten animiert, gehört verboten' (Edmund K.)
War Ede nicht derjenige, der Bruno hat erschießen lassen?


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 01.09.2007, 13:40    Titel: Antworten mit Zitat

Ok,

puuuuh - ich komm irgendwie nicht weiter!
Vielleicht kann mir einer von euch bei dem Code helfen:
Code:
<?php
mysql_connect('','','');
mysql_select_db('');

if(isset($_POST['catid'])) {
$catid = $_POST['catid'];
$count = mysql_query('SELECT count(*) FROM galerie_test WHERE galerie_test.piccatid = '.$catid.'');
$piccount = mysql_fetch_assoc($count);
$pics = $piccount['count(*)'];
$pics_per_page = 9;
$page_num = 1;
$picsres = ceil($pics/$pics_per_page);
echo $picsres;
$galquery = mysql_query('SELECT galerie_cat_test.catid, galerie_cat_test.catname, galerie_cat_test.catdesc, galerie_test.picid, galerie_test.piccatid, galerie_test.picpath, galerie_test.picname, galerie_test.picsize FROM galerie_test, galerie_cat_test WHERE galerie_cat_test.catid = galerie_test.piccatid AND galerie_test.picactive = 1 AND galerie_test.piccatid = '.$catid.' ORDER BY galerie_test.picid desc');
   $count_pic    = $piccount['count(*)']; //Anzahl der Bilder in der Galerie
   $pic_per_page = 9; //anzahl der Bilder die auf einer Seite angezeigt werden sollen
   
   $pages    = ceil($count_pic/$pic_per_page); //Berechnen wieviele Seiten benötigt werden
   
   $page_num = 1; //variable für die Ausgabe der Seiten
   
   if($_GET[page] =='') //wenn keine Angabe über die Seite mitgeliefert wird
   {
   $start = 1;         //werden die ersten neun Bilder ausgegeben
   $end   = 9;
   }
   else
   {
   $start = $_GET[page]*9+1; //andernfalls wird anhand der Seite die Aufgerufen wurden
   $end   = $start + 8;      //berechnet welche Bilder aufgerufen werden sollen
   }
   if($end > $count_pic)      //prüfen ob es genug Bilder gibt oder ob die Abfrage vorher abgebrochen werden muss
   {
   $end = $count_pic;         //die Ausgabe wird beim letzten Bild abgebrochen
   }
   while($start <= $end)               
   {
   $row = mysql_fetch_object($galquery);
   echo"<img src=\"".$row->filepath."\" style=\"max-height:90px;\" />\n";      //bilder X-Fach ausgeben
   $start++;                           //variable um 1 erhöhen
   }   
   echo"<br />";
   while($i != $pages)                     //schleife für die Navigation
   {
   echo"<a href=?catid=$catid&page=$i>[Seite $page_num]</a>\n";      //Navigation X-Fach ausgeben
   $i++;                              //variable um 1 erhöhen                             
   $page_num++;                        //variable um 1 erhöhen
   }
} else {
$catq = mysql_query('SELECT catid, catname, catdesc, catactive FROM galerie_cat_test WHERE catactive = 1');
echo   "<fieldset>\n";
echo   "<legend>Kategorie auswählen</legend>\n";
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" name=\"catform\">";
echo   "<table width=\"90$\" style=\"color:#FFFFFF;\">";
echo      "<tr>";
echo         "<td><b>Kategorie:</b>";
echo         "<td><select name=\"catid\">";
   while($row = mysql_fetch_object($catq)) {
   echo "<option value=\"".$row->catid."\">".$row->catname."</option>\n";
   }
echo   "</select>";
echo         "</td>";
echo      "</tr>";
echo      "<tr>";
echo      "<td>&nbsp;</td>";
echo   "<td><input type=\"submit\" name=\"submit\" value=\"Kategorie auswählen\"></td>";
echo      "</tr>";
echo   "</table>";
echo   "</form>";
}
?>


Ich komm einfach nicht weiter. Ich hab das Beispiel von oben genommen, aber das Problem ist - das dieser Teil bereits in einer If Abfrage ausgeführt wird!

Ich bin echt am verzweifeln! Hoffentlich kann mir einer helfen!

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
thepiep
Beliebter [User]
Beliebter



Anmeldung: 24.08.06
Beiträge: 329
Wohnort: NRW

BeitragVerfasst am: 01.09.2007, 15:38    Titel: Antworten mit Zitat

Nochmal eine Frage, da ich deinen Ansatz im Ansatz nicht ganz verstehe Winken

Du willst eine Galerie machen und auf jeder Seite sollen 9 Bilder angezeigt werden?

Von jeder Seite aus sollen alle anderen Seiten anwählbar sein?

Sowas wie das? http://kvg-2008.de/?id=galerie&cat=images/lappe_1-6-07/ (nicht die Fotos beachten Sehr glücklich ) nur, eben mit einer anderen Anordnung - von der seite könnte ich dir jedenfalls das script geben und die bilder pro seite zu ändern ist das kleinere problem.

PS:
Code:
echo"hallo";
echo"Bla";

Kann man schreiben als
Code:
echo"hallo
Bla";

ist etwas kürzer


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 01.09.2007, 23:37    Titel: Antworten mit Zitat

Ja - genau das ist es was ich meinte!
Genau soetwas suche ich. Nur - das man vorher noch die jeweilige Kategorie aussucht!
Denn - es ist geplant das eine Kategorie z.B. 50 Bilder hat!

Wenn du mir dein Script (oder auch vielleicht schon angepasst) posten könntest wäre ich dir sehr dankbar!
Wenn du es nicht hier posten möchtest, kannst du mir es auch gerne an webmaster@fairlife-projekt.de mailen!
Zitat:

PS:
Code:
echo"hallo";
echo"Bla";

Kann man schreiben als
Code:
echo"hallo
Bla";

ist etwas kürzer

ja - eigentlich hast du Recht, damit ich aber jede einzelne Zeile gut einrücken kann usw. mach ich das eben so Smilie


Danke

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
thepiep
Beliebter [User]
Beliebter



Anmeldung: 24.08.06
Beiträge: 329
Wohnort: NRW

BeitragVerfasst am: 02.09.2007, 00:41    Titel: Antworten mit Zitat

Bei meiner Lösung gibt es durchaus mehrere Kategorien, nur im Moment gibts auf der Seite nur eine.

Man benötigt hier zwei Tabellen - eine für die Bilder und eine für die Kategorien.

Allerdings musst du noch einige Zahlen anpassen, da das Script momentan pro Seite 20 Bilder anzeigt und nur die ersten 20 Kategorien.

Du musst also nur jedesmal die 20 durch 9 ersetzen und die LIMIT Bedingung in der ersten query einfach weglassen und ein ORDER BY title einbauen.

Ich hoffe, dass hilft dir soweit und sonst frag einfach per mail oder icq - das beantworte ich schneller...

PHP-Code:
Code:
<?php

   //   /mainsite/galerie.php
   
if($_GET['cat'] == ''){
echo '
Bitte wähle eine Kategorie!
<br /><br />';
        $query_loadconfig        = mysql_query("SELECT * FROM galcat LIMIT 0,20") or ($error[] = mysql_error());

        while($cat         = mysql_fetch_object($query_loadconfig)){
           
   $query = mysql_query("SELECT count(*) FROM galerie WHERE url = '$cat->url'")or die(mysql_error());
   $anbildercat = mysql_result($query,0);
   
echo '
<div class="abox">
<h3>'.$cat->title.' ('.$anbildercat.' Fotos)</h3>
<a href="?id=galerie&cat='.$cat->url.'" title="Galerie">
'.$cat->text.'<br />
<img src="'.$cat->img.'" class="aimg" alt="'.$cat->title.'" /></a>
</div>

';
}
}elseif(!isset($_GET['picid'])){
      $start = $_GET[start];
   if($start == '') $start = 0;
   
   $query = mysql_query("SELECT count(*) FROM galerie WHERE url = '$_GET[cat]'")or die(mysql_error());
   $anbildercat = mysql_result($query,0);
   
   $lauf = $start;
   $bluuub = $start;
   
        if($start-20 <0 && $start != 0) $start = 20;
   
           if($start-20 >= 0){
                echo '<a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($start-20).'" style="float:left;margin:10px 10px 10px 20px;">Vorherige Seite</a>';
            }
            
            if($start+20 <= $anbildercat){
                echo '<a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($start+20).'" style="float:right;margin:10px 20px 10px 10px;">Nächste Seite</a>';
             }
             
             
            echo '<div style="text-align:center;position:relative;top:0.8em;width:60%;margin:auto;">';
            for($help=0;$help <= $anbildercat;$help=$help+20)
            {
               if($start >= $help && $start < $help+20)
               echo '<strong style="margin:0 5px 0 5px;">'.(($help/20)+1).'</strong>';
               else
               echo '<a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($help).'" style="margin:0 3px 0 3px;">'.(($help/20)+1).'</a>';
 
            }
            echo '</div><div class="clear"></div>';
   

   
        $query_loadconfig        = mysql_query("SELECT * FROM galerie WHERE url = '$_GET[cat]' LIMIT $bluuub,20") or ($error[] = mysql_error());

        while($pic         = mysql_fetch_object($query_loadconfig)){
                echo '
                <div class="galpic">
                     <a href="?id=galerie&cat='.$_GET[cat].'&picid='.$lauf.'">
                        <img src="'.$pic->url.'small/'.$pic->file.'" alt="Foto-ID: '.$pic->id.'" />
                        <br />
                     </a>
                     Dieses Bild wurde bereits '.$pic->views.'x aufgerufen.
                </div>
               
                ';
                $lauf++;
                $countout++;
        }
       
        echo '<div class="clear"></div>';

           if($start-20 >= 0){
                echo '<a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($start-20).'" style="float:left;margin:10px 10px 10px 20px;">Vorherige Seite</a>';
            }
            
            if($start+20 <= $anbildercat){
                echo '<a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($start+20).'" style="float:right;margin:10px 20px 10px 10px;">Nächste Seite</a>';
             }
             
             
            echo '<div style="text-align:center;position:relative;top:0.8em;width:60%;margin:auto;height:30px;">';
            for($help=0;$help <= $anbildercat;$help=$help+20)
            {
               
               if($start == $help)
               echo '<strong style="margin:0 5px 0 5px;">'.(($help/20)+1).'</strong>';
               else
               echo '<a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($help).'" style="margin:0 3px 0 3px;">'.(($help/20)+1).'</a>';
 
            }
            echo '</div>';
            
            
        if($countout==0){
           echo "Hinweis: Die von dir angeforderte Kategorie ist entweder leer oder existiert nicht!";   
        }
}elseif(isset($_GET[picid])){
   $goon = $_GET['picid']-1;
   if($goon < 0){ $goon = 0; $helper++;}
   
        $query_loadconfig        = mysql_query("SELECT * FROM galerie WHERE url = '$_GET[cat]' LIMIT $goon,3") or ($error[] = mysql_error());

        while($pic         = mysql_fetch_object($query_loadconfig)){

           switch($helper){
              case 0:
              
           $ausgabe = '
           <a href="?id=galerie&cat='.$_GET[cat].'&picid='.($_GET[picid]-1).'">
           <img class="smallpic" src="'.$pic->url.'small/'.$pic->file.'" alt="Foto-ID: '.$pic->id.'" />
           </a>
           ';
              
              break;
              
              case 1:
              
              $newview = $pic->views+1;
              mysql_query("UPDATE galerie SET views = '$newview' WHERE id = '$pic->id'") or ("Error: " . mysql_error());
              
            echo   '           
                           <div class="galpicgross">
                        <a href="'.$pic->url.$picurlthis.'" title="Volle Auflösung">
                        <img src="'.$pic->url.'medium/'.$pic->file.'" alt="Foto-ID: '.$pic->id.'" />
                        </a>
                        <br />
                        
                     
                     
                     Dieses Bild wurde bereits '.$newview.'x aufgerufen.
                     
                </div>   <br /><div style="text-align:center;width:40%;margin:auto;height:30px;">
               <a href="?id=galerie&amp;cat='.$_GET[cat].'&amp;start='.($_GET[picid]).'" style="margin:0 5px 0 5px;">Übersicht</a></div>
           
           
           

                ';
                break;
               
                case 2:
               
                   
                   echo '
                   <a href="?id=galerie&cat='.$_GET[cat].'&picid='.($_GET[picid]+1).'">
                   <img class="smallpic fright" src="'.$pic->url.'small/'.$pic->file.'" alt="Foto-ID: '.$pic->id.'" />
                   </a>
                   ';
                   
                break;
 
        }
       
           $helper++;   
        }echo $ausgabe;
}
?>


SQL-Code zum generieren der passenden MySQL-Tabellen:


Code:
-- Tabellenstruktur für Tabelle `galcat`
--

CREATE TABLE `galcat` (
  `url` varchar(255) collate latin1_general_ci NOT NULL default '',
  `title` varchar(255) collate latin1_general_ci NOT NULL default '',
  `text` varchar(255) collate latin1_general_ci NOT NULL default '',
  `img` varchar(255) collate latin1_general_ci NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `galerie`
--

CREATE TABLE `galerie` (
  `id` varchar(32) collate latin1_general_ci NOT NULL default '',
  `file` varchar(255) collate latin1_general_ci NOT NULL default '',
  `url` varchar(255) collate latin1_general_ci NOT NULL default '',
  `views` int(14) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 02.09.2007, 23:02    Titel: Antworten mit Zitat

So, so weit wie jetzt war ich noch nie Smilie *freu*

aber - ich hab jetzt noch ein paar Probleme bei dem Script!
Zur Veranschaulichung habe ich mal als title in jedem Bild die ID ausgeben lassen damit man den Fehler auch anhand der ID sieht!

Es sind insgesamt 11 Bilder.
9 Davon werden auf der ersten Seite auch absteigend aufgelistet! (Bild ID: 30 - 22)
Aber - eigentlich sollte dann auf der "Seite 2" die Bild ID 21 und 20 noch stehen!
Es wird jedoch wieder das Bild mit der ID 30 und 29 ausgegeben!

Also - irgendwas stimmt da nicht!
Vielleicht könnt ihr mir hier nochmal helfen bitte! Ich poste das komplette Script von mir mit SQL Files zum ausprobieren und Test URL:
Test URL: http://www.happyjumble.de/test4.php
PHP Script:
Code:
<style>
#notactive { color:#FF0000; text-decoration:blink; };
</style>
<?php
mysql_connect('','','');
mysql_select_db('');
function catid() {
$catq = mysql_query('SELECT catid, catname, catdesc, catactive FROM galerie_cat_test');
echo   "<table width=\"90$\" border=\"0\" style=\" background:#003399; color:#FFFFFF; border:#FF0000 2px outset; text-align:center;\" align=\"center\">\n";
echo      "<tr>\n";
echo         "<td><b>Kategorie:</b>\n";
echo      "</tr>\n";
echo      "<tr>\n";
echo         "<td><select name=\"catid\">\n";
   while($row = mysql_fetch_object($catq)) {
      if($row->catactive == 1) {
      echo "<option value=\"".$row->catid."\" onclick=\"window.location.href='".$_SERVER['PHP_SELF']."?catid=".$row->catid."&page=0'\">".$row->catname."</option>\n";
      } else {
      echo "<option id=\"notactive\" value=\"".$row->catid."\" title=\"Kategorie nicht aktiv\">".$row->catname."</option>\n";
      }
   }
echo   "</select></td>\n";
echo      "</tr>\n";
echo   "</table>\n";
}

if(!isset($_GET['catid'])) {
catid();
} else {
$count = mysql_query('SELECT count(*) FROM galerie_test WHERE galerie_test.piccatid = '.$_GET['catid'].'');
$piccount = mysql_fetch_assoc($count);
$pics = $piccount['count(*)'];
$pics_per_page = 9;
$page_num = 1;
$picsres = ceil($pics/$pics_per_page);
$count_pic = $piccount['count(*)'];
$pic_per_page = 9; //anzahl der Bilder die auf einer Seite angezeigt werden sollen
$pages    = ceil($count_pic/$pic_per_page); //Berechnen wieviele Seiten benötigt werden
   if($_GET['page'] == '0') {
   $start = 1; 
   $end   = 9;
   } else {
   $start = $_GET['page']*8+1; //andernfalls wird anhand der Seite die Aufgerufen wurden
   $end   = $start + 8;      //berechnet welche Bilder aufgerufen werden sollen
   }
   
   if($end > $count_pic) {
   $end = $count_pic;         //die Ausgabe wird beim letzten Bild abgebrochen
   }
   $galquery = mysql_query('SELECT galerie_cat_test.catid, galerie_cat_test.catname, galerie_cat_test.catdesc, galerie_test.picid, galerie_test.piccatid, galerie_test.picpath, galerie_test.picname, galerie_test.picsize FROM galerie_test, galerie_cat_test WHERE galerie_cat_test.catid = galerie_test.piccatid AND galerie_test.picactive = 1 AND galerie_test.piccatid = '.$_GET['catid'].' ORDER BY galerie_test.picid desc');
   echo "<center>\n";
   while($start <= $end) {
   $row = mysql_fetch_object($galquery);
   echo"<img src=\"".$row->picpath."\" title=\"Bild ID: ".$row->picid."\" style=\"max-height:90px;\" />\n";      //bilder X-Fach ausgeben
   $start++;                           //variable um 1 erhöhen
   }
   echo "</center>\n";
   
   echo"<br />";
   echo "<center>\n";
   while($i != $pages) {
   echo"<a href=?catid=".$_GET['catid']."&page=$i>[Seite $page_num]</a>\n";      //Navigation X-Fach ausgeben
   $i++;
   $page_num++;
   }
   echo "</center>\n";
   echo "\n<br>".catid();

}
?>

SQL Datenbanken:
Code:
--
-- Tabellenstruktur für Tabelle `galerie_cat_test`
--

CREATE TABLE `galerie_cat_test` (
  `catid` int(11) NOT NULL auto_increment,
  `catname` varchar(30) default NULL,
  `catdesc` text,
  `catactive` int(1) NOT NULL default '0',
  PRIMARY KEY  (`catid`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `galerie_test`
--

CREATE TABLE `galerie_test` (
  `picid` int(11) NOT NULL auto_increment,
  `piccatid` int(1) default NULL,
  `picname` varchar(50) default NULL,
  `picsize` varchar(10) default NULL,
  `picpath` varchar(100) default NULL,
  `picdate` varchar(10) default NULL,
  `picactive` int(1) default NULL,
  PRIMARY KEY  (`picid`)
) ENGINE=MyISAM AUTO_INCREMENT=31 DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;


Das ist jetzt die grobe Grundstruktur von der Galerie die ich mir vorstelle!
Aber bisher bin ich schon sehr zufrieden Smilie
Ich hoffe das man den anderen kleinen Fehler leicht beheben kann!

Ich würd mich freuen wenn mir noch einmal jemand helfen könnte!

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
thepiep
Beliebter [User]
Beliebter



Anmeldung: 24.08.06
Beiträge: 329
Wohnort: NRW

BeitragVerfasst am: 03.09.2007, 15:32    Titel: Antworten mit Zitat

dein Ansatz die Anzahl der Bilder zu begrenzen ist falsch

Wieso machst du's nicht wie in meinem Script per LIMIT page*9,9?


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
BiBaButzemann
Erfahrener [User]
Erfahrener



Anmeldung: 25.06.06
Beiträge: 91
Wohnort: Moers

BeitragVerfasst am: 03.09.2007, 19:51    Titel: Antworten mit Zitat

Dankeschön!

Aber - ich hab jetzt ne ganz andere (leichtere) Lösung mit einem gefunden! ^^
Alles geht super. so wie ich mir das vorstelle!

Nur noch nicht im Zusammenspiel mit der HP!
Aber das werd ich denk ich auch lösen!

Auf jeden Fall - das Script läuft super!

Trotzdem danke

_________________
Mit freundlichen Grüßen

BiBaButzemann


Nach oben
Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Gehe zu:  

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Probleme mit Firefox 3 bei der Bidlan... webmasterpaul Relax Zone 4 01.08.2008, 20:23 Letzten Beitrag anzeigen
Keine neuen Beiträge Probleme mit der MySQL-Datenbank Gizka Serverseitige Websprachen 3 27.07.2008, 12:28 Letzten Beitrag anzeigen
Keine neuen Beiträge Probleme beim Einbau eines Partnerscr... niCO1290 Serverseitige Websprachen 0 23.07.2008, 23:38 Letzten Beitrag anzeigen
Keine neuen Beiträge Wer kann helfen? Probleme mit Layout Petermatrix HTML & CSS 1 15.07.2008, 01:51 Letzten Beitrag anzeigen
Keine neuen Beiträge Neues Layout...2 probleme JFM HTML & CSS 3 10.07.2008, 15:26 Letzten Beitrag anzeigen
Threadübersicht