Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] function()

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] function()

    Hi Leute!

    Also ich hab mr jetzt mehrere Seiten durchgelesen und verstehs einfahcnet!

    ich würde gerne eine function machen und ich kenn mich kein bischen aus...


    ich habe also den code
    PHP-Code:
    $query "SELECT * FROM Tabelle WHERE id = '$id'";
    $sql mysql_query($query);
    while(
    $row mysql_fetch_assoc($result)) {

            echo 
    $row[id];


    In eine function würde ich das ganze jetzt so packen:
    PHP-Code:
    function mysql(){
     
    $query "SELECT * FROM $a WHERE id = '$id'";
      
    $sql mysql_query($query);
      while(
    $row mysql_fetch_assoc($result)) {

            echo 
    $row[id];

      }

    Mein Problem ist jetzt:
    Ich möchte gerne, dass wenn ich echo mysql() ausführen würde, ich direkt auch in der function den wert $a übergebn kann, in der dann die abzufragende tabelle steht...
    Außerdem wollte ich noch wissen, ob es möglich wöre, das man z.b. den echo teil in der function weg klässt, und diese dann z.b. so ausführen kann:

    PHP-Code:
    function mysql($a){
     
    $query "SELECT * FROM $a WHERE id = '$id'";
      
    $sql mysql_query($query);
      while(
    $row mysql_fetch_assoc($result)) {
     
       }
    }

    mysql(news);

    echo 
    $row[id]; 
    Allerdings sollen dann bei 10 Datensätzen auch 10 Ids angezeigt werden...


    hört sich zwar bescheuert an, aber ich versteh einfach nicht, wie ich das machen kann!

  • #2
    du musst ja auch nicht nur $a sondern auch $id übergeben...

    Kommentar


    • #3
      sorry, hatte ich garnicht gesehen...

      also ich hab grad doch noch was gefunden...
      bei mehreren sachen hat das einer in nen array gepackt...

      Aber ich glaube, dass es hier auch mit nur einem datensatz klappen sollte...
      ich versuchs einfach mal mit mysql($a, $id);

      Kommentar


      • #4
        Also wir reden ja von 2 völlig unterschiedlichen Sachen. Die Parameterübergabe dürfte jetzt so funktionieren.

        Und nun zur Rückgabe: Ja, wenn du mehr als einen Wert zurück geben willst, dann bleibt dir nur ein Array als Rückgabe oder CallByReference was fuer Anfaenger wohl etwas schwierig zu verstehen ist, also bleib lieber bei einem Array.

        Kommentar


        • #5
          array hat sich fürs erste mal erledigt...

          hab jetzt:
          PHP-Code:
          function get_datasite($table$id) {

              
          $query "SELECT id, text FROM '$table' WHERE id = '$id'";        
              
          $result mysql_query($query) OR die(mysql_error());
                  while (
          $row mysql_fetch_assoc($result)){        
              

                  
          $text stripslashes($row[text]);
                  require_once(
          'modules/bbcode/parser_class.php');
                  
          $bb = new Simple_BB_Code();
                  
          $text $bb->parse($text);

                  
          $id $row[id];

                  }


          Und ich bekomme als Fehler:

          You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''menu' WHERE id = '18'' at line 1

          Kommentar


          • #6
            ne Tabelle gehört auch nicht in Anführungszeichen

            Kommentar


            • #7
              ok, hab den fehler gefunden... falsche tabelle... aber wie sorg ich denn jetzt eigentlich dafür, dass der wert, der in der function erstellt wurde auch nach der function weiter genutzt werden kann, also z.B. nach function() echo $id;

              ???

              Kommentar


              • #8
                hä?

                Kommentar


                • #9
                  ich glaub er will ein return:

                  PHP-Code:
                  function get_datasite($table$id) {

                      
                  $query "SELECT id, text FROM '$table' WHERE id = '$id'";        
                      
                  $result mysql_query($query) OR die(mysql_error());
                          while (
                  $row mysql_fetch_assoc($result)){        
                      

                          
                  $text stripslashes($row[text]);
                          require_once(
                  'modules/bbcode/parser_class.php');
                          
                  $bb = new Simple_BB_Code();
                          
                  $text $bb->parse($text);

                          return 
                  $row[id];

                          }


                  Dann einfach wo du die $id nach der ausführung haben wollest, die funktion nicht so:
                  PHP-Code:
                   get_datasite($1, $2); 
                  sondern so:

                  PHP-Code:
                  $id =  get_datasite($1, $2); 
                  dann hast du nach aufruf der funktion deine daten in $id.


                  oder hab ichs falsch verstanden?

                  Kommentar


                  • #10
                    klappt fast...

                    Hab jetzt nur noch den error

                    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = '18'' at line 1

                    und hab den code

                    return $row[id];

                    .......

                    $id = get_datasite($table, $_GET[id]);

                    Kommentar


                    • #11
                      Also STOP! Geht es dir hier jetzt um deine eigentliche Frage oder das wir Stück für Stück deinen Code schreiben? Deine SQL-Errors haben überhaupt nichts mit der Ausgangsfrage zu tun.

                      Kommentar


                      • #12
                        ich würde gerne eine function machen und ich kenn mich kein bischen aus...
                        Eigentlich reicht mir das als Aussage. Selber lernen macht schlau.

                        PHP: Funktionen - Manual


                        [MOD: Thread geschlossen]

                        Kommentar

                        Lädt...
                        X