Ankündigung

Einklappen
Keine Ankündigung bisher.

arrayelement weiterschalten.

Einklappen

Neue Werbung 2019

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

  • arrayelement weiterschalten.

    ich bin grad am entdecken der arrays und hab mir auch die faq und docu angesehen. anzeigen eines kompletten arrays und so weiter, daten einfügen ist kein problem.

    wenn ich aber nun 1 array element ausgeben möchte, und dann mit einem klick auf einen link das nächste, kann ich das dann mit next() machen? hierzu finde ich leider nichts.

    und was passiert wenn das array am ende ist?

    ich hab das hier fabriziert, ist aber wohl komplett falsch. es wird grad mal 1 weitergesprungen, dann aber nix mehr. hab ich hier einen denkfehler? bitte nicht lachen oder schimpfen. bin wie gesagt noch am anfang mit den arrays. und aus den dokus uns manuals sowie tuts werde ich nicht wirklich schlau wie ich das mit dem weiterschalten aber auch immer nur anzeigen EINES wertes (ganzes array ist kein problem) hinbekomme.

    PHP-Code:
    $arr = array('1-rot''2-gelb''3-blau''4-schwarz');

    if (isset (
    $action) && $action == 'next') {
      echo 
    next($arr).'
    '
    ;
      echo 
    '[url="'.$PHP_SELF.'?action=prev"]prev[/url] | ';
      echo 
    '[url="'.$PHP_SELF.'?action=next"]next[/url]';
    } else if(isset(
    $action) && $action == 'prev') {
      echo 
    prev($arr).'
    '
    ;
      echo 
    '[url="'.$PHP_SELF.'?action=prev"]prev[/url] | ';
      echo 
    '[url="'.$PHP_SELF.'?action=next"]next[/url]';
    } else {
      echo 
    $arr[0].'
    '
    ;
      echo 
    '[url="'.$PHP_SELF.'?action=next"]next[/url]';
    }; 
    mfg Alex


  • #2
    Schnell mal zusammengetippt:
    PHP-Code:
    <?php
    $arr 
    = array('1-rot''2-gelb''3-blau''4-schwarz'); 

    $count count($arr);

    if(!empty(
    $_GET['key'])) {
        
    $key $_GET['key'];
    } else {
        
    $key 0;
    }

    if(
    array_key_exists($key$arr)) {
        echo 
    $arr[$key];
    } else {
        echo 
    $arr[0];
    }

    echo 
    '

    '
    ;

    if(
    array_key_exists($key-1$arr)) {
        echo 
    '[url="?key='.($key 1).'"]previous[/url] ';
    }


    if(
    array_key_exists($key+1$arr)) {
        echo 
    ' [url="?key='.($key 1).'"]next[/url]';
    }

    ?>

    Kommentar


    • #3
      danke erstmal. bin jetzt total frustriert.

      ich weiss nicht ob ich das mit den arrays JEMALS richtig kapieren werde. du hast dafür gradmal 2 minuten gebraucht und ich tüftle schon den ganzen nachmittag.

      danke aber 1000x für deinen lösungsvorschlag. ich glaube ich denke für das einfach zu kompliziert. wenn man es sieht schaut es dann ganz logisch aus. nur darauf kommen muss man mal.

      danke auf jedenfall nochmal. sehr nett... gruss aus tirol!

      ps: das count($arr) ist aber nicht weiter verwendet oder?
      mfg Alex

      Kommentar


      • #4
        Zitat von Promaetheus
        ps: das count($arr) ist aber nicht weiter verwendet oder?
        Öhm.. nein.. wie gesagt, das war nur eben zusammengetippt ohne durchdacht zu sein

        Kommentar


        • #5
          danke nochmal für den tollen tipp. hab das ganze jetzt endlich fertig. hab auch gleich eine "endlosschleife" eingebaut sodass die arrayabfrage dann gleich wieder bei 0 beginnt.

          danke nochmal 1000x für die hilfe bzw. den denkanstoss. lg aus tirol!

          http://www.promadesign.com/test/gallery.php

          PHP-Code:
            case 'show_pic':
              
          $checkedvar = isset($_SESSION['pics'][$_GET['pic']]) ? $_GET['pic'] : '0';
              
          $_SESSION['active_pic'] = $checkedvar;
              echo 
          '[b]<u>'.$_SESSION['dirs'][$_SESSION['active_dir']].':</u>[/b] ';
              echo 
          '('.pd_draw_link($PHP_SELF.'?SID='.$SID.'&action=show_thumbs&gallery='.$_SESSION['active_dir'], 'Zurück''Zurück zur Gallerie').')

          '
          ;

              
          $anz count($_SESSION['pics']);
              
          $end $anz 1;

              echo 
          $_SESSION['pics'][$checkedvar];

              echo 
          '

          '
          ;

              if(
          array_key_exists($checkedvar-1$_SESSION['pics'])) {
                  echo 
          '[url="'.$PHP_SELF.'?SID='.$SID.'&action=show_pic&pic='.($checkedvar 1).'"]Vorheriges Bild[/url] ';
              } else {
                  echo 
          '[url="'.$PHP_SELF.'?SID='.$SID.'&action=show_pic&pic='.$end.'"]Vorheriges Bild[/url] ';
              };

              if(
          array_key_exists($checkedvar+1$_SESSION['pics'])) {
                 echo 
          '[url="'.$PHP_SELF.'?SID='.$SID.'&action=show_pic&pic='.($checkedvar 1).'"]Nächstes Bild[/url] ';
              } else {
                  echo 
          '[url="'.$PHP_SELF.'?SID='.$SID.'&action=show_pic&pic=0"]Nächstes Bild[/url] ';
              };
            break; 
          mfg Alex

          Kommentar


          • #6
            Hehe, bitte bitte. Freut mich, dass es dir geholfen hat

            Kommentar

            Lädt...
            X