ganzes array im link übergeben

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

  • ganzes array im link übergeben

    [Hintergrund]
    ich habe ein download script gebaut in dem man die dls in kategorien unterteilen kann.
    jede kategorie ist später als ordner dargestellt den man auf und zu klappen kann.

    [Aktuelle Situation]
    die ordner sind am anfang alle zu. wenn man auf + klick geht dieser ordner auf und die dls des ordners (also dieser kategorie)
    werden dargestellt. dann kan man wieder auf - klicken (erscheint statt dem + ) und der ordner geht wieder zu.

    [Variablen]
    welcher ordner gerade aus der db gelesen wird steht in $cat_now;
    welche cat mit + geöfnet wurde steht in $selected_cat[$i];
    $i ist einfach eine hochzählende variable ($i ist am schluss die anzahl der ordner)

    [Frage]
    wie kann ich die aktuell geöffneten ordner im link übergeben?! imo kann ich nämlich nur den aktuellen übernehmen.

    [Code]
    der code is wahrscheinlich total schlecht. also haut mich ruhig wenn ihr wollt ^^

    PHP-Code:
    Bitte den neuen Code von unten anschauen
    Danke im vorraus!!!!
    Zuletzt geändert von qualle; 20.09.2004, 10:51.

  • #2
    Ohne dein Post gelesen zu haben

    1. Bitte Zeilen umbrechen, hab hier keine 9000 mal 9000 auflösung

    2. serialize (aber ich denke mal, dein Problem lässt sich sicher auch anders lösen)


    An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

    Kommentar


    • #3
      auch ohne deinen Code gelesen zu haben, Session könnte dir nützlich sein

      Kommentar


      • #4
        Ok, sorry, dann hier erstmal der kurze code.
        Hoffe du hast 1280*1024 ^^

        PHP-Code:
        echo "<table>";
                        
        $gu1 mysql_query("SELECT cat FROM $downloads_tb GROUP BY cat");    
        while(
        $row mysql_fetch_object($gu1))
        {
         
        $i++;
         
        $cat_now=$row->cat;
          
            
        $gu2 mysql_query("SELECT COUNT(*) AS roows FROM $downloads_tb WHERE cat='$cat_now'");
            
        $gu2_r mysql_fetch_array($gu2);
            
            if(
        $selected_cat[$i]!=$cat_now$rs=0;  
            else     
        $rs=$gu2_r['roows']+1;
                
                echo 
        "<tr><td valign=top>";
                     
              if(
        $selected_cat[$i]!=$cat_now) echo "<a href=\"$self?dgo=$dgo&selected_cat[$i]=$cat_now\"> + </a>";
                else  echo 
        "<a href=\"$self?dgo=$dgo&selected_cat[$i]=0\"> - </a>";
                     
            echo 
        "</td><td colspan=2><b>".$cat_now."</b></td></tr>";
            echo 
        "<tr><td rowspan=".$rs." width=10 valign=top>&nbsp;</td></tr>";
                     
            if(
        $selected_cat[$i]==$cat_now){
           
        $gu3 mysql_query("SELECT id,title,beschreib FROM $downloads_tb WHERE cat='$selected_cat[$i]'");    
           while(
        $row mysql_fetch_object($gu3))
            {
                   echo 
        "<tr><td>&nbsp;</td><td>";
                    echo 
        "".$row->title."</a></td></tr>";
                }                    
            }                         
        }
        clearstatcache();                 
        echo 
        "</table>";
        ?> 
        Im Anhang mal die Ausgabe des Codes von oben.


        Zu Serialize:
        ich lese die anleitungen auf http://de3.php.net/serialize ja wirklich gerne.
        aber da verstehe ich jetzt nicht wie ich das in einem link benutze.
        $link_to_post=serialize($selected_cat[]);
        oder wie?

        Zu Session:
        öh, hab ich. aber nur zum usermanagement. wie soll mir das da nützlich sein?

        Kommentar


        • #5
          Was gibt es sonst noch für Lösungen?





          PS: Im Anhang wie es gerade aussieht.
          Angehängte Dateien

          Kommentar


          • #6
            Zu Session:
            öh, hab ich. aber nur zum usermanagement. wie soll mir das da nützlich sein?
            na in dem Du die offenen Ordner einfach in der Session festhälst.

            PHP-Code:
            // link ala
            "script.php?opendir=4"


            // dann prüfen ob existiert usw.
            // in Session speichern


            // später dann Abfragen bei der Schleife,
            // wenn in $_SESSION['opendirs'] dann anzeigen 
            [Test] MySQL cli Emulator

            Kommentar


            • #7
              und wenn ich mehrere ordner offen habe (also das prob ^^)?

              PHP-Code:
              script.php?selected_cat[3]=tolle_scripte&selected_cat[7]=wallpapers... 
              ...kann ja nicht die lösung sein oder?

              bzw vieleicht habe ich den teil

              // in Session speichern

              nicht verstanden. gibts da n crashcours?




              PS: och man in #C währ das soooo easy - einfach wild mit pointern schmeissen ;P

              Kommentar


              • #8
                und wenn ich mehrere ordner offen habe (also das prob ^^)?
                deswegen ja Sessions. Dort bleiben die offenen Ordner ja erhalten, Sie stehen dort ja solange bis Du Sie manuell entfernst oder eben die Session beendet wird.

                bzw vieleicht habe ich den teil

                // in Session speichern

                nicht verstanden. gibts da n crashcours?
                sicherlich ne ganze menge im Netz z.B. -> http://tut.php-q.net/sessions.html

                Aber Du arbeitest doch schon mit Sessions sagtest Du

                Also Du hast einfach ein Array in der Session in dem Du die offenen Ordner drin ist. Bei Klick auf "+" kommt ein "opendir=2"
                und bei "-" dann ein "closedir=2" und dann fügst Du es zur Session hinzu oder entfernst eben
                [Test] MySQL cli Emulator

                Kommentar

                Lädt...
                X