statische namen durch dynamische ersetzen => schleifendurchlauf

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

  • statische namen durch dynamische ersetzen => schleifendurchlauf

    hallo,
    ich habe folgendes script, welches prüft ob die checkbox "$chk_at" aktiviert wurde, und wenn ja, entsprechend einen datenbankeintrag macht:

    PHP-Code:

    if($chk_at=='at'){
        foreach (
    $at as $at_depot){
          
    //echo"<br>FOREACH";
          
    $eintrag "INSERT INTO tb_parameter (instkind, country, depot, updatefile, userid, installtime, timestamp, comment, status)
                    VALUES ('r', 'at', '
    $at_depot', '$updatefile','$userid','$insttime','$ts','$comment','1')";
          
    $eintragen ifx_query("$eintrag"$connection);
        } 
    jetzt habe ich allerdings nicht nur diese eine checkbox, sondern noch 7 weitere.
    ich könnte per copy'and'paste den quelltext kopieren und anpassen, aber das ist mir zu dämlich.
    ich möchte also den datenbankeintrag in einer schleife durchlaufen.
    in einem array könnten folgende werte stehen: ('at','de','es','lu','pl')

    wie kann ich nun den wert in dem array, direkt in die schleife einsetzen?

    so funktioniert es nicht:
    PHP-Code:

    if($chk_$arrayname[0]=='$arrayname[0]'){
        foreach (
    $at as $at_depot){
          
    //echo"<br>FOREACH";
          
    [...] 
    ich müsste also alle 'at' in dem quelltext durch das dynamische array ersetzen können, aber irgendwie klappt das bei mir nicht.
    wie wird das korrekt verknüpft?
    Zuletzt geändert von mruniversum; 07.03.2007, 14:15.

  • #2
    Könntest die Checkboxen htmlmässig als Array übergeben
    Code:
    <input type="checkbox" name="titel[]" value="irgendwas" />
    <input type="checkbox" name="titel[]" value="iwas anderes" />
    So als Idee...

    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


    • #3
      alle mögl Werte in ein Array schreiben und dann ne foreach ala:

      PHP-Code:
      $arr = array();
      foreach(
      $arr as $val){
       if(
      $chk_at==$val){
         ...
         
      $eintrag "INSERT INTO tb_parameter (instkind, country, depot, updatefile, userid, installtime, timestamp, comment, status)
                      VALUES ('r', '."
      $val."', ....
       }

      Für Rechtschreibfehler übernehme ich keine Haftung!

      Kommentar


      • #4
        Original geschrieben von Damian1984
        alle mögl Werte in ein Array schreiben und dann ne foreach ala:

        PHP-Code:
        $arr = array();
        foreach(
        $arr as $val){
         if(
        $chk_at==$val){
           ...
           
        $eintrag "INSERT INTO tb_parameter (instkind, country, depot, updatefile, userid, installtime, timestamp, comment, status)
                        VALUES ('r', '."
        $val."', ....
         }

        ja genau da hängt es ja...
        in der 3. zeile: if($chk_at==$val){
        müsste das 'at' bei $chk_at auch aus dem array kommen!

        aber $chk_$arr dürfte nicht gehen :-/

        Kommentar


        • #5
          Original geschrieben von mruniversum
          ja genau da hängt es ja...
          in der 3. zeile: if($chk_at==$val){
          müsste das 'at' bei $chk_at auch aus dem array kommen!
          Ja dann mach doch ein Array draus ...

          Statt $chk_at = "Vergleichswert";
          $chk['at'] = "Vergleichswert";
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            hä, jetzt bin ich ganz durcheinander

            Statt $chk_at = "Vergleichswert";
            $chk['at'] = "Vergleichswert";

            was ist denn $chk['at'] für ein array?

            also beispielsweise meine checkbox
            $chk_at

            und mein array
            $arr=array('at','de','es');

            normal würde ich ja
            $chk_$arr[0] nehmen, aber das erkennt er nicht an....
            Zuletzt geändert von mruniversum; 07.03.2007, 14:51.

            Kommentar


            • #7
              Nee, das wird mir jetzt zu doof ... beschäftige dich erst mal mit Arrays, dass du wenigstens grundlegend damit umgehen kannst.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X