Announcement

Collapse
No announcement yet.

Hilfe: Script verleichtern mit for

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hilfe: Script verleichtern mit for

    Hallo ich habe in meinem php Script zur Abfrage von Feldern die mit array gefüllt werden for schleifen eingebaut um in meiner Maske in den passenden Textfeld der passende Eintrag aus dem Array< steht
    Hier mein Code
    PHP Code:
    for ($k 0$k sizeof($fldmail); $k++)
        {
            
    $tpl->set_var("nmail",($fldmail[$k]));
        }
        for (
    $i 0$i sizeof($fldpostOfficeBox); $i++)
        {
            
    $tpl->set_var("npostOfficeBox",($fldpostOfficeBox[$i]));
        }
        for (
    $k 0$k sizeof($fldphone); $k++)
        {
            
    $tpl->set_var("ntelephoneNumber",($fldphone[$k]));
        }
        for (
    $i 0$i sizeof($fldfax); $i++)
        {
            
    $tpl->set_var("nfacsimileTelephoneNumber",($fldfax[$i]));
        }
        for (
    $k 0$k sizeof($fldmobile); $k++)
        {
            
    $tpl->set_var("nmobile",($fldmobile[$k]));
        }
        for (
    $i 0$i sizeof($fldpcfax); $i++)
        {
            
    $tpl->set_var("npcFacsimileTelephoneNumber",($fldpcfax[$i]));
        }
        for (
    $k 0$k sizeof($fldhomephone); $k++)
        {
            
    $tpl->set_var("nhomePhone",($fldhomephone[$k]));
        } 
    Dies sind sehr viele Zeilen wie ich finde, aber das kann man doch bestimmt kürzen oder?
    Kann mir dabei einer helfen ich hätte keine Ahnung
    Hat vielleicht einer von euch ne gute Idee wie ich das vereinfachen/verkürzen könnte?
    Wäre euch sehr Dankbar!

  • #2
    Hallo,
    ich schreib sowas gerne in der Form:
    PHP Code:
    foreach (array(
      
    'nmail'            => $fldmail,
      
    'npostOfficeBox'   => $fldpostOfficeBox,
      
    'ntelephoneNumber' => $fldphone,
      ...
      ) as 
    $tplKey => $arrData) {
        foreach (
    $arrData => $value) {
          
    $tpl->set_var($tplKey$value);
        }
      } 
    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Bekommen folgende Fehlermeldung:
      Parse error: syntax error, unexpected T_DOUBLE_ARROW

      Mein Code:
      PHP Code:
      foreach (array(
      'nmail' => $fldmail,
      'npostOfficeBox' => $fldpostOfficeBox,
      'ntelephoneNumber' => $fldphone,
      'nfacsimileTelephoneNumber' => $fldfax,
      'nmobile' => $fldmobile,
      'npcFacsimileTelephoneNumber' => $fldpcfax,
      'nhomePhone' => $fldhomephone
      ) as $tplKey => $arrData) {
          foreach (
      $arrData => $value) {
            
      $tpl->set_var($tplKey$value);
          }
        } 

      foreach ($arrData => $value) { Diese Stelle meckert er als Fehler an!

      Comment


      • #4
        Wenn ich das ganze so schreibe:
        foreach($arrData as $key => $value) {
        dann funktioniert es aber es wird eine Fehlermeldung angezeigt:
        Warning: Invalid argument supplied for foreach()

        Comment


        • #5
          Vielleicht muss ich dazu noch sagen, dass mein Array am Anfang leer ist, dieses befülle ich ja erst im nach hinein
          kann mir einer helfen?

          Comment


          • #6
            Originally posted by Pillemon View Post
            ...Bekommen folgende Fehlermeldung:
            Parse error: syntax error, unexpected T_DOUBLE_ARROW
            Sorry, die Zeile
            PHP Code:
            foreach ($arrData => $value) { 
            muß natürlich
            PHP Code:
            foreach ($arrData as $value) { 
            heißen.



            Originally posted by Pillemon View Post
            Wenn ich das ganze so schreibe:
            foreach($arrData as $key => $value) {
            dann funktioniert es aber es wird eine Fehlermeldung angezeigt:
            Warning: Invalid argument supplied for foreach()
            Das ist keine Fehlermeldung, sondern eine Warnung - steht ja auch da. Eine Fehlermeldung beginnt mit ...error:
            Wenn du diese Warnung abfangen möchtest, dann kannst du um die foreach-Schleife ja noch eine Abfrage setzen -
            PHP Code:
            ...if (is_array($arrData)) {... 
            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment


            • #7
              Wenn ich jetzt folgendes mache,

              PHP Code:
                  if (is_array($arrData))
                  {
              foreach (array(
                              
              'nmail' => $fldmail,
                              
              'npostOfficeBox' => $fldpostOfficeBox,
                              
              'ntelephoneNumber' => $fldphone,
                              
              'nfacsimileTelephoneNumber' => $fldfax,
                              
              'nmobile' => $fldmobile,
                              
              'npcFacsimileTelephoneNumber' => $fldpcfax,
                              
              'nhomePhone' => $fldhomephone
                              
              ) as $tplKey => $arrData
                              {
                                  foreach (
              $arrData as $value
                                  {
                                      
              $tpl->set_var($tplKey$value);
                                  }
                              }

              Dann klappt das nicht, wenn ich dann in meiner Maske ein Pflichtfeld nicht ausfülle löscht er die Werte in den Felder und merkt sich diese nicht

              Comment


              • #8
                Hallo,
                Originally posted by Pillemon View Post
                Wenn ich jetzt folgendes mache,...
                Wie wäre es mal mit mitdenken!?
                An der Stelle an der du is_array($arrData) abfragst, ist die Variable $arrData überhaupt noch nicht definiert!
                Wie wäre es damit:

                PHP Code:
                ...
                  
                'npcFacsimileTelephoneNumber' => $fldpcfax,
                  
                'nhomePhone' => $fldhomephone
                ) as $tplKey => $arrData
                {
                  if (
                is_array($arrData)) {    
                    foreach (
                $arrData as $value
                    {
                      
                $tpl->set_var($tplKey$value);
                    }
                  }

                Gruß Falk
                Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                Comment

                Working...
                X