Galerie next pic

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Galerie next pic

    Hi,

    also ich komm gleich zur Sache, ich hab folgende PHP Seiten:

    galerie.php
    (erstellt automatisch die Thumbnails der Galerie und eine Seitenanzahl mit links etc...)
    out.php
    (sobald in der Galerie->galerie.php auf ein Thumbnail klickt springt er zur out.php und übergibt lediglich id_kat -> Kategorie, id_pic und die mom Seite -> $page)

    Ich will die out.php jetzt so erweitern das ich immer ein bild vor und zurück schalten kann, also nicht immer zuerst in die Übersicht zurück muss. Hab hier auch schon mal gesucht und ein wenig mit limit und mysql_data_seek rumgespielt aber komme zu keinem richtigen ergebnis könnt ihr mir da weiter helfen? Kann man irgendwie die rows direkt ansprechen?! Und muss man sich mit einem arraymarker behelfen...wär ja ziemlich umständlich .

    Danke schon mal.

    Gruß
    Tom

  • #2
    wenn du die bild id (id_pic) hast ist doch das nächste bild einfach das mit der nächst höheren id...

    Code:
    SELECT id_pic FROM tabelle WHERE id_kat=$id_kat AND id_pic>$id_pic ORDER BY id_pic ASC LIMIT 0,1
    das vorherige dementsprechend...

    Kommentar


    • #3
      wenn es so leicht wäre ...nur es kann ja auch sein das ich eins raus lösch und dann funktioniert das ganze schon nicht mehr..hab ein admin bereich ja auch gecoded....

      Kommentar


      • #4
        wieso soll es dann nicht funktionieren? das nächst größere ist das nächst größere...

        wenn das aktuelle bild z.b. die id 12 hat, du die bilder mit den ids 13, 14 und 15 löschst, ist halt dann das nächste bild 16... also die nächst größere pic id...
        oder verstehe ich das problem nicht richtig....?!?

        Kommentar


        • #5
          also hab´s jetzt etwas umständlich denk ich geschafft aber es funzt
          hier wenn es interessiert:

          PHP-Code:
          <?php 


          $result
          =mysql_query("select * from $fotoclub_galerie where id_user = '$id_user' and id = '$fotoclub_id'");
          //mysql_data_seek($result, 1);
          $row=mysql_fetch_object($result);

                       
          $fotoclub_views                                     $row->views;
                      
          // klicks zählen
          $fotoclub_views++;

          //Erstes und letztes Bild
          $result_first=mysql_query("select * from $fotoclub_galerie where id_user = '$id_user' order by id");
                
          $row_first=mysql_fetch_object($result_first);
                       
          $first_id                             $row_first->id;
                      
          $result_last=mysql_query("select * from $fotoclub_galerie where id_user = '$id_user' order by id desc");
                
          $row_last=mysql_fetch_object($result_last);
                       
          $last_id                             $row_last->id;

          //----------------------------------------BILD Zurück--------------------------------------
                      
          $id_vor=$fotoclub_id+1;

          IF(
          $fotoclub_id == $last_id){ $error_vor="1"; } Else {
          While(
          $vor_end 1){

          $result1=mysql_query("select * from $fotoclub_galerie where id = '$id_vor'");
          $row1=mysql_fetch_object($result1);

          $id_vor++;

                       
          $id_vor_db                                 $row1->id;
                      
          $fotoclub_bild_vor                 $row1->bild;
                  
                      IF(
          $id_vor_db or $last_id == $id_vor){ $vor_end=1;}
                  
              }        

          }
              
          //----------------------------------------BILD Vorwärts--------------------------------------


          $id_back=$fotoclub_id-1;

          IF(
          $fotoclub_id == $first_id){ $error_last="1"; } Else {
          While(
          $back_end 1){

          $result2=mysql_query("select * from $fotoclub_galerie where id = '$id_back'");
          $row2=mysql_fetch_object($result2);

          $id_back--;

                       
          $id_back_db                                 $row2->id;
                      
          $fotoclub_bild_back                 $row2->bild;
                      
                      IF(
          $id_back_db or $first_id == $id_back){ $back_end=1; }

              }

          }    


          mysql_query("UPDATE $fotoclub_galerie SET views=$fotoclub_views where id_user=$id_user and id=$fotoclub_id");
             echo 
          mysql_error();

               
          echo 
          "<p align=center><table border=0><tr><td align=center>";
                           IF(!
          $error_vor) {echo"<a href=\"out.php?id_user=$id_user&fotoclub_id=$id_vor_db&bild=$fotoclub_bild_vor&page=$page\">back</a> ";}
                          IF(!
          $error_last) {echo"<a href=\"out.php?id_user=$id_user&fotoclub_id=$id_back_db&bild=$fotoclub_bild_back&page=$page\">next</a>";}
                          echo
          " </td>
                           </tr>
                           <tr>
                           <td><a href=\"./galerie.php?id_user=
          $id_user&page=$page\"><IMG SRC=\"$serverpfad/admin/$ordner_img/$bild\" border=\"0\" alt=\"back\"></a></td>
                           </tr>
          <tr>
          <td></td>
          </tr>
          </table></p>"
          ;

          ?>

          Kommentar


          • #6
            exakt.
            LIMIT schaut nach Untergrenze und läd dann die angegebene Anzahl nach der Untergrenze.

            will sagen:

            LIMIT 0,1
            lädt genau eine Zeile ab Zeile 0 der Ergebnismenge(!)

            Limit 10,10
            läd 10 Zeilen ab Zeile 10 der Ergebnismenge(!)

            Der Primary Key ist da absolut nicht relevant.

            also kannst dich da voll und ganz auf die entwickler vom MySql verlasssen.

            Kommentar


            • #7
              mhhh ich denk ich probier euren weg auch mal aus...nja bin stolz das ich es auch so geschafft hab *grins*

              Kommentar

              Lädt...
              X