Ankündigung

Einklappen
Keine Ankündigung bisher.

Erledigen von mehreren Variablen in einer schleife.

Einklappen

Neue Werbung 2019

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

  • Erledigen von mehreren Variablen in einer schleife.

    Hi, ich hab schon ne weile dran rumgespielt.

    Aber ich bekomme es einfach nicht hin. Wäre nett wenn ihr mir helfen könnt.

    Ich über gebe mit nem formular folgende sachen:

    Code:
    <input type='text' name='ftextx size='30' lenght='200'>
    <input type='checkbox' name='fokx' value='ok'>
    <input type='hidden' name='ftitelx value='xxx'>
    <input type='hidden' name='fsprachex' value='2'>
    <input type="hidden" name="area" value="film">
    <input type='hidden' name='fidx' value='x'>
    x= id aus einer Mysql Tabelle.

    Hier ist der code:

    Code:
    if(isset($_POST['area']))
      {
        $i=0;
        $x=$db->data($db->query("SHOW TABLE STATUS like '$_POST[area]'"));
        while($i<$x['Auto_increment'])
        {
          $i++;
          if(isset($_POST['{fok.$i}']) && $_POST['{fok.$i}'] == 'ok')
          {
            $links='filmlink';
            $text=htmlentities($_POST['{ftext.$i}']);
            $titelid = $_POST['{fid.$i}'];
            $db->query("Insert into news2 (id, nid, lid, bereich, text) Values ('', '$id', '$titelid', '$_POST[area]','$text')");
            $db->query("UPDATE $area Set ok ='ok',changed='0' Where id='$i'");
            $db->query("UPDATE $links Set ok ='ok', changed='0' Where titel='$i'");
          }
        }
      }
    Ich bekomme es einfach nicht hin der er in der while schleife die einzelnen Einträge durchgeht und in die tabelle einfügt.
    Woran könnte das liegen?

  • #2
    -> moved to Anfänger Forum

    Kommentar


    • #3
      Re: Erledigen von mehreren Variablen in einer schleife.

      Code:
      <input type='text' name='ftext[x] size='30' lenght='200'>
      <input type='checkbox' name='fok[x]' value='ok'>
      <input type='hidden' name='ftitel[x]' value='xxx'>
      <input type='hidden' name='fsprache[x]' value='2'>
      <input type="hidden" name="area" value="film">
      <input type='hidden' name='fid[x]' value='x'>
      Damit bildest du weitere Arrays in $_POST .. schau dir mal, ob Du damit einfacher zu rande kommst, als mit dem Strings ... besondern $_POST['fok'] dürfte jetzt sehr praktikabel sein ...

      Kommentar


      • #4
        Re: Erledigen von mehreren Variablen in einer schleife.

        Zitat von Guradia
        Code:
        <input type='text' name='ftext[x] size='30' lenght='200'>
        <input type='checkbox' name='fok[x]' value='ok'>
        <input type='hidden' name='ftitel[x]' value='xxx'>
        <input type='hidden' name='fsprache[x]' value='2'>
        <input type="hidden" name="area" value="film">
        <input type='hidden' name='fid[x]' value='x'>
        Damit bildest du weitere Arrays in $_POST .. schau dir mal, ob Du damit einfacher zu rande kommst, als mit dem Strings ... besondern $_POST['fok'] dürfte jetzt sehr praktikabel sein ...
        Danke schon mal für die fixe antwort, ich rufe die dann mit $_POST['fok'][$i] auf oder wie mach ich das nachher?

        Bin da nicht so gut drin in der auswertung ohne regist_globals.

        Kommentar


        • #5
          Fast ..

          Du kannst dir die ganze Zählschleife sparen ...

          foreach ($_POST['fok'] as $klickedOnes) {
          }

          Nur die angeklickten Checkboxen werden übertragen.

          Kommentar


          • #6
            irgendwie kann ich deinen Gedanken gängen nicht ganz folgen.

            Wie werte ich denn dann die anderen variablen aus?
            Etwas auch mit foreach($_POST['var'] as $varname).

            Kommentar


            • #7
              Nö ... und
              foreach ($_POST['fok'] as $id => $oks) {}
              wäre zugegebenermassen sinniger ... da du so an die $id rankommst ^^

              Schau dir den resultierenden Aufbau von $_POST mal an ...
              Code:
              print '<pre>';
              var_dump($_POST);
              print '</pre>';

              Kommentar


              • #8
                Ok es klappt, ich verstehe es zwar noch nicht ganz, aber es klappt .

                Danke .

                Nun werde ich mich mal hinsetzten damit ich es verstehen.
                [/edit]
                foreach ($_POST['fok'] as $id => $oks)

                $id = array index

                $oks = array wert.

                Yeah ich hab es rausgefunden. ^.^ hätte ich auch eher drauf kommen können. Tja manchmal sieht man den weg vor lauter variablen nicht.

                Und das hier : var_dump($_POST) werde ich mir aufschreiben ^.^

                [/edit]

                Kommentar

                Lädt...
                X