Functions in anderen Functions verwenden

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

  • #16
    ok, hab das mal so getestet. geht immer noch nicht
    jetzt kommt aber noch ein anderer fehler dazu.
    PHP-Code:
    WarningMissing argument 1 for conn() in war_calender.php on line 21
    Warning
    Missing argument 2 for conn() in war_calender.php on line 21
    Warning
    Missing argument 3 for conn() in war_calender.php on line 21
    Warning
    Missing argument 4 for conn() in war_calender.php on line 21
    keine Verbindung zu möglich
    No Database Selected 
    PHP-Code:
    $Server "".$config['db']['host']."";
    $User "".$config['db']['user']."";
    $Password "".$config['db']['password']."";
    $DB "".$config['db']['database']."";
    $Conn=NULL;
    echo
    "$DB"// diese wird hier ausgegeben - wollt schauen ob er die überhaupt hat

    function conn($Server,$User,$Password,$DB// dies ist zeile 21
    {
    $Conn mysql_connect ($Server$User$Password )
       or die (
    "keine Verbindung zu $Server möglich: " .mysql_error());
    mysql_select_db($DB$Conn)
       or die (
    "keine Verbindung zu $DB möglich: " .mysql_error());
    return 
    $Conn;
    };
    // hier hat er die $DB nicht mehr... 
    die andere function sieht jetzt so aus:

    PHP-Code:
    global $conn;
    echo 
    conn();                                 

            
    $sql "SELECT * FROM {$config['db']['prefix']}wars";
            
    $result mysql_query($sql,$Conn) or die(mysql_error());
            
    $arrRow mysql_fetch_array($result);

            
    $gegner=$arrRow["gegner"];

            
    mysql_free_result($result);
            echo
    "$gegner"
    sollte ich vielleicht noch sagen, das ich nicht wirklich ahnung von den classen habe??

    steig da einfach nicht dahinter...

    Kommentar


    • #17
      1. es ist keine Klasse sondern Funktion
      2. lese bitte zuerst http://de.php.net/manual/en/language.functions.php
      3. du mußt die Funktionsparameter übergeben
      4. wenn du schon alles in $config hast, dann sollst du die Funktion so umbauen, dass du nur $config zu übergeben brauchst.

      Kommentar


      • #18
        vielleicht kann man mein problemchen auch ganz anders lösen.
        dazu mal mein vorhaben:

        ich möchte eine db-abfrage in einer funktion mit einbauen.
        falls es für das datum etwas in der db gibt ($_Get['day'] ect.), möcht ich nur ein kleines bildchen anzeigen lassen, wenn nicht, dann nix.

        hier mal die komplette unveränderte classe, um die es geht:

        PHP-Code:
        function WriteDaydetailLink($intLinkDay$intLinkMonth$intLinkYear$strValue$strLinkClass)
        {

        if(
        date("d m Y") == date("d m Y"mktime(0,0,0,$intLinkMonth,$intLinkDay,$intLinkYear)))  $strToday " id=\"today\"";
          echo 
        "<td class=\"$strLinkClass\"$strToday align=\"center\">";
          echo 
        "<a href=\"?action=war_calender&detail=daydetail&day=$intLinkDay&month=$intLinkMonth&year=$intLinkYear\">";

          
        // hier wollt ich einfach eine abfrage, und dann ein bildchen bei $num>0 machen.
         
          
        echo $strValue."<br></a></td>";

        Kommentar


        • #19
          und dein Versuch? Du glaubst doch nich im Ernst, dass einer hier für dich macht, oder?

          btw: nochmals, das ist keine Klasse, sondern FUNKTION

          Kommentar


          • #20
            nein, hat ja auch keiner gesagt.
            meine versuche stehen ja oben, was nicht ging.

            anfangs hab ich einfach eine abfrage da reingeschrieben. ging aber auch nicht.

            Kommentar


            • #21
              kann es sein, dass du zu schnell aufgibst? lese meine Antwort, setze um, dann solls auch funz.

              Original geschrieben von asp2php
              1. es ist keine Klasse sondern Funktion
              2. lese bitte zuerst http://de.php.net/manual/en/language.functions.php
              3. du mußt die Funktionsparameter übergeben
              4. wenn du schon alles in $config hast, dann sollst du die Funktion so umbauen, dass du nur $config zu übergeben brauchst.

              Kommentar


              • #22
                ja, immer. ist generell ein problem was ich habe.
                aber ich will hier nicht über meine psyche sprechen...

                ok, habe mir das da angeschaut. dies nicht zum ersten mal. als ich mit dem problem anfing, habe ich, wie ich es immer mache erstmal gegoogelt ect.
                wie gesagt, ich habe keine ahnung von den functionen. fange erst damit an, es mir selbst so gut es geht anzueignen.

                nur learning bei dooing is nicht immer das beste. und ohne hilfe manchmal unmöglich.

                auch egal...

                zu 1. jo, habe ich jetzt
                zu 2. habe ich auch gelesen, nur nicht verstanden
                zu 3. mhhh - ohne 2. kein 3.
                zu 4. habe ich geändert. nix mehr mit $config

                Kommentar


                • #23
                  was hast du denn bei Funktionen nicht verstanden? mysql_connect ist auch eine Funktion, die du auch verwendet hast. Wo liegt denn das Problem? Du rufst die Funktion conn auf, indem du den Namen und die dazugehörigen Parameter aufschreibst, genauso wie bei mysql_connect.
                  PHP-Code:
                  $Conn conn(..., ..., ..., ...); 

                  Kommentar


                  • #24
                    ja, ist einleuchtend.
                    ich versteh daran nicht, wie eine in der anderen läuft, und woran es liegen könnte, das es nicht läuft.
                    wie ein maler, der ein auto reparieren soll...

                    egal was ich mache, "keine Verbindung zu möglich: No Database Selected"

                    Kommentar


                    • #25
                      mhhh,

                      vielleicht hab ich generell was falsch. also, ich habe:

                      2 functionen
                      1. conn
                      2. WriteDaydetailLink

                      function 1 soll in function 2 as machen.

                      ausgegeben wird NUR function 2. am schluss und diese sollte function 1. beinhalten.

                      nur mal für mich zum darüber nachdenken was ich will und wie ichs lösen könnte.
                      sonst vergess ich das

                      es scheitert daran, das function 1 nicht in function 2 was machen will...

                      Kommentar


                      • #26
                        PHP-Code:
                        function f1($bla) { 
                           echo 
                        "ausgabe in f1: $bla<br />\n"
                           return 
                        $bla.' war in f1/';
                        }
                        function 
                        f2($blub) {
                           echo 
                        "ausgabe in f2: $blub<br />\n";
                           
                        $temp f1($blub);
                           return 
                        $temp.' war in f2/';
                        }
                        function 
                        f3($blu) {
                           echo 
                        "ausgabe in f3: $blu<br />\n";
                           
                        $temp f2($blu);
                           return 
                        $temp.' war in f3/';
                        }

                        // aufruf
                        $arg 'Csab';
                        echo 
                        f3($arg); 
                        schau dir den Output an und versuche den Verlauf zu nachvollziehen.

                        Kommentar


                        • #27
                          ok, hab mir das mal angeschaut.
                          entweder bin ich zu doof, oder ich denke zu kompliziert.

                          hab mal so getan hier:

                          PHP-Code:
                          function conn($Server,$User,$Password,$DBg)
                          {
                            
                          $Conn mysql_pconnect($Server,$User,$Password);
                             if (!
                          $Conn) { echo '<font face="arial" size="2">Keine Verbindung zur datenbank möglich, versuchen Sie es in ein paar Minuten nochmal.';
                               exit;}
                             
                          mysql_select_db($DBg,$Conn);      
                          return 
                          $Conn.'Conn-';
                          }
                          function 
                          select_gegner($gegners)
                          $Con conn($Server,$User,$Password,$DBg);
                          #abfrage erst einmal auskommentiert...
                          # $sql = "SELECT * FROM {$config['db']['prefix']}wars";
                          # $result = mysql_query($sql,$Con) or die(mysql_error());
                          # $arrRow = mysql_fetch_array($result);
                          # $gegner=$arrRow["gegner"];
                          # mysql_free_result($result);
                          # echo"$gegner";
                          return $Con.'Con-';
                          }
                          function 
                          WriteDaydetailLink($intLinkDay$intLinkMonth$intLinkYear$strValue$strLinkClass)
                          {  
                          $sel_datum "".$_GET['year']."-".$_GET['month']."-".$_GET['day']."";

                             if(
                          date("d m Y") == date("d m Y"mktime(0,0,0,$intLinkMonth,$intLinkDay,$intLinkYear)))  $strToday " id=\"today\"";
                             echo 
                          "<td class=\"$strLinkClass\"$strToday align=\"center\">";
                             echo 
                          "<a href=\"?action=war_calender&detail=daydetail&day=$intLinkDay&month=$intLinkMonth&year=$intLinkYear\">";
                             
                          $blab select_gegner($gegners);
                             echo 
                          $strValue."<br>$blab<br></a></td>";
                             return 
                          $blab.'blab';

                          ergebnis des ganzen ist folgendes:
                          Resource id #24Conn-Con-

                          Kommentar


                          • #28
                            ok, das mit den vielen functionen wird wohl so nicht mehr werden.
                            theoretisch kann ich doch alles in die eine function mit reinpacken. oder?
                            hab ich getestet. bringt er mir trotzdem fehler!!

                            Warning: mysql_result(): supplied argument is not a valid MySQL result resource in war_calender.php on line 33

                            geht eine abfrage überhaupt in einer funktion?

                            denke langsam, das das nicht funktioniert...

                            Kommentar


                            • #29
                              juhuuu, habe es doch irgendwie hinbekommen ohne 1000 funktionen.
                              jetzt nurnoch etwas anpassen, und es sollte funktionieren.

                              danke für deine hilfe asp2php.

                              Kommentar

                              Lädt...
                              X