Probleme mit function

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

  • Probleme mit function

    Hallo,

    ich habe ein kleines Problem mit Funktionen.
    Ich lese aus einer Datenbank eine Tabellenspalte aus und speichere die Daten im Array $werte (Array mit 8 Einträgen). Diesen Array würde ich gerne dazu benutzen um eine Select-Feld (unter HTML) zu füllen.

    Kann es sein, dass das Array $werte, welchem ich außerhalb der Funktion "print_status_options" die Daten zuweise, in der Funktion leer ist?

    Mein Code sieht wie folgt aus:
    PHP-Code:
    <?php

     
    // hier wird die Datenbank ausgelesen, alles klappt soweit, Daten werden in den Array $werte geschrieben


    function print_status_options($wert=0) {
      for (
    $i=0;$i<count($werte);$i++) {
        
    printf("<option value=\"%d\"%s>%s</option>\n", ($i+1),($wert==($i+1) ? " selected" ""), htmlentities($werte[$i]));
        }
    }
    ?>
    <br>
    Ausgabewerte: 
    <select name="status">
      <option value="0"
        <?php echo (!isset($wert) ? "selected" ""); ?>
        >--- Bitte w&auml;hlen ---</option>
      <?php
        print_status_options
    ($wert);
      
    ?>
    </select>
    lieben Gruß

  • #2
    Du musst einer Funktion Variablen als Parameter übergeben.

    PHP-Code:
    function foo($bar) {
        return 
    $bar;
    }

    $var 'abc';
    echo 
    foo($var); 
    Außerdem sollten Funktionen in der Regel keine Ausgaben mit echo machen. Gib den Wert mit return zurück.

    Grundlagen Funktionen
    Zuletzt geändert von h3ll; 23.10.2008, 15:27.

    Kommentar


    • #3
      Vielen Dank, klappt jetzt nach dem ich folgende Zeilen angepasst habe.

      PHP-Code:
      <?php

      function print_status_options($wert=0$werte) {
      ...
      ?>
      <?php
          print_status_options
      ($wert$werte );
      ?>
      LG

      Kommentar


      • #4
        PHP-Code:
        function print_status_options($wert=0) {
          for (
        $i=0;$i<count($werte);$i++) { 
        bei dieser Konstellation darfst du dich aber nicht wirklich wundern wenn die Schleife einfach schlicht und ergreifend nix macht. Du übergibst der Funktion $wert und versuchst auf $werte zuzugreifen
        Und hier
        PHP-Code:
        <?php
            print_status_options
        ($wert);
          
        ?>
        frage ich mich ob du die richtige Var verwendet hast. Denn in deinem Kommentar oben sprichst du vom Array $werte

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Wieder mal ein Fall, wo ein an den Anfang des Scripts gestelltes error_reporting(E_ALL) sehr, sehr sinnvoll wäre. Dann gibts beim Zugriff auf nicht initialisierte Variablen (wie $werte) einen Hinweis.
          Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

          Kommentar

          Lädt...
          X