function

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

  • function

    huhu!

    ich hab mich mal wieder so wirr gemacht, dass ich nimmer weiter komme ... HILFE

    ich habe da zum einen einen seite, in der mehrere functions. z.b. so eine:

    Code:
    function smile {
    
          $hack = "|(:U:H)(.*?)|s";
          $code = "<img src=\"http://URL/grins.gif\">";
          $text = preg_replace($hack,$code,$text);
                   }
    nun habe ich mehre´re andere seiten, auf denen db-abfragen gestartet werden. da kommen jeweils unterschiedlich viele vars bei raus, die auch noch verschiedene namen haben. sie heissen also nicht immer "text"! ich will die function aber für alle vars nutzen, wenn es in den config-daten erlaubt ist.

    sprich:

    if($config == "erlaubt")
    { für die function aus für diese var. }
    else { lass es bleiben, und nimm dir die nächste var vor. }

    wie mach ich das?

    [Editiert von schmalle am 07-12-2001 um 10:07]
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

  • #2
    Hi,
    es wäre nicht schlecht wenn Du Dich etwas genauer ausdrücken könntest.

    Gruß
    deep
    http://www.x-tremedev.de

    Kommentar


    • #3
      also gut ganz langsam. ich habe eine .php die nenen wir mal functions.php. da stehen solche functionen drin:

      Code:
      function smile {
      
            $hack = "|(:U:H)(.*?)|s";
            $code = "<img src=\"http://URL/grins.gif\">";
            $text = preg_replace($hack,$code,$text);
                     }
      dann habe ich eine andere seite, die wir mal abfrage.php nennen. da passiert folgendes:

      $holen = mysql_query(" select bla bla ");
      while($bla = mysql_fetch_arra($holen))

      { $var = $bla[0];
      $var2 = bla[1]; usw. ...

      }

      solche abfragen kommen auch auf anderen seiten vor. jedesmal kommen verschiedene vars an. und es sind auch nicht immer gleich viele.

      so, ich will jetzt in der while folgendes:

      // erst config daten überprüfen

      if($smile == "erlaubt") {

      include("functions.php");
      für die function aus für die erlaubten vars aus.
      }

      ich brauche einfach nur einen weg die functions auf alle möglichen vars anzuwenden ... wenn ich wüsste, auf welche vars er es anwenden soll, wäre das ja kein ding ... aber dass weiss ich ja nicht im vorraus
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar


      • #4
        Hi,
        also ich weiß nicht genau wie die Daten aussehen die Du abrufst. Vielleicht wäre ja die Lösung einfach die Funktionsnamen in der db zu speichern und dann das handling folgendermaßen auzuführen:

        $holen = mysql_query(" select bla bla ");
        while($bla = mysql_fetch_arra($holen))

        {
        $var = $bla[0];
        $var2 = bla[1]; usw. ...
        $function = $bla[x] ..

        }
        und dann...

        if($config == "erlaubt")
        {
        //je nachdem wieviele Params du hast
        $function($var1);
        //oder
        $function($var1,$var2);
        }
        else {
        lass es bleiben, und nimm dir die nächste var vor. }
        }

        Hope this helps.
        Gruß
        deep
        http://www.x-tremedev.de

        Kommentar


        • #5
          die $ vor dem Funktionsaufruf gehört da wohl nicht hin, oder?!

          P.S.: auf jeden Fall solltest du nicht den include-Befehl innerhalb einer Schleife anwenden. Einfach immer bei jedem Skript zuerst includen, vielleicht sogar eher mit include_once() und dann hast du deine Funktion smile() zur Verfügung und kannst wie es deepthougt beschrieben hat in deiner Schleife die Funktion aufrufen und den Wert übergeben. Allerdings solltest du den Rückgabewert noch speichern ->

          if ($smile=="erlauben") {
          $neuer_var= smile($var);
          }

          [Editiert von BrainBug am 07-12-2001 um 11:33]

          Kommentar


          • #6
            ne sorry, das hilft nicht weiter. der name der function(s) steht ja fest. ich kann nur leider nicht im vorraus wissen, auf welche vars sie angewendet werden sollen ...
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7


              ich versteh überhaupt nicht, was du dann willst. Warum weißt du nicht, wann du was mit welcher Variablen tun sollst?

              Kommentar


              • #8
                @brainbug

                Hi,
                das $ vor dem Funktionsnamen ist ok. Man kann damit folgendes machen:

                Stell Dir vor du hast 3 funktionen:
                hello1()
                {
                echo "hello1";
                }

                hello2()
                {
                echo "hello2"
                }

                hello3()
                {
                echo "hello3"
                }

                du kannst die Funktionen dann auch so aufrufen:
                $function = hello1;
                $function();
                $function = hello2;
                $function();
                ...
                ja, das geht...

                gruß
                deep
                http://www.x-tremedev.de

                Kommentar


                • #9
                  hat sich erledigt. prob gelöst
                  h.a.n.d.
                  Schmalle

                  http://impressed.by
                  http://blog.schmalenberger.it



                  Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                  ... nur ohne :-)

                  Kommentar


                  • #10
                    Wie hast du es gelöst? Vielleicht versteh ich dann noch hinter her, wo das Problem lag

                    Kommentar


                    • #11
                      ja und wie ???

                      Gruß
                      deep
                      http://www.x-tremedev.de

                      Kommentar


                      • #12
                        es gibt jetzt für jede mögliche var eine eigene function, die dann entsprechend ausgeführt wird. das ergibt zwar einen mega-code, aber lässt sich wohl nicht vermeiden
                        h.a.n.d.
                        Schmalle

                        http://impressed.by
                        http://blog.schmalenberger.it



                        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                        ... nur ohne :-)

                        Kommentar

                        Lädt...
                        X