variables formular - anzahl der felder frei bestimmbar

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

  • variables formular - anzahl der felder frei bestimmbar

    hallo php-ler,

    stehe vor dem (für mich) unlösbarem problem, ein formular zu erstellen, welches folgendes "können" soll.

    stellt euch vor, ihr habt einen artikelbestand deren anzahl von monat zu monat variert, in verschiedene bereiche unterteilt ist und jedesmal gleiche attribute besitzt. (artikelnummer, titel, serie, link)

    das formular soll zuerst mal nur ein textfeld haben,
    welches nach der anzahl der blöcke fragt,
    gibt man z.b vier ein, sollen halt vier tabellen erscheinen,
    wobei man jetzt wieder jeder tabelle (ebenfalls über textfeldeingabe) sagen kann, wieviele textfelder die einzelne tabellen enthalten sollen.

    t1 - anzahl textfelder: 2
    ------------------------------------
    | ----------------
    | ----------------
    ------------------------------------

    t2 - anzahl textfelder: 4

    ------------------------------------
    | ----------------
    | ----------------
    | ----------------
    | ----------------
    ------------------------------------

    t1 - anzahl textfelder: 3
    ------------------------------------
    | ----------------
    | ----------------
    | ----------------
    ------------------------------------

    t2 - anzahl textfelder: 2

    ------------------------------------
    | ----------------
    | ----------------
    ------------------------------------

    hoffe ich hab das einigermassen verständlich rübergebracht,
    wie man das ganze in einer datenbank unter einem vorgebebenen
    monat speichert ist meine nächste frage, aber das wär wohl das kleinere
    problem.

    dank dir/euch jetzt schonmal,
    gruss
    bastian

  • #2
    und was ist jetzt die frage?
    guten morgen.
    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

    Kommentar


    • #3
      morgen mrX,

      die frage ist, wie hat der code auszusehen hat, der diese textfelder genrieren kann.

      b.

      Kommentar


      • #4
        na die anzahl der gewünschten felder, welche im ersten eingegeben wird, auslesen und durch ne schleife die input generieren. verarbeiten kannst du dann die $_POST['varis'] indem di sie in ein array einliest und z.b. wieder durch ne schleife weiter verarbeitest. hab ich dich richtig verstanden?
        [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

        Kommentar


        • #5
          ja, Du hast mich verstanden, ich DICH aber nicht. :-)

          hört sich zwar schon gut an, aber ich versteh nur bahnhof...
          kannste das etwas detailierter erläutern, bitte.
          gruss
          b.

          Kommentar


          • #6
            verstehe ich das so das du erst das layout für die tabellenanzahl durch form-felder abspeichern willst??? wenn ja warum?

            vorschlag (wenn ich dich richtig verstanden habe )
            meist ergibt sich durch durch die kategorie->artikel->eigenschaften eine automatische tab-struktur. das layout sollte sich an den vorhandenen monatlichen enthaltenen datensätzen richten. so bist du flexibler.

            beispiel - (mit von mister_x1 genannten array)
            PHP-Code:
            $articles["kategorie"]["artikelnr"] = array ($artikelnummer$titel$serie$link); 
            dadurch ergibt sich bei ordentlicher schleife deine tab-struktur automatisch
            ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
            und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

            Kommentar


            • #7
              morgen mücke,

              die struktur ist und soll auch immer die gleiche sein.
              lediglich die anzahl der blöcke und zellen variert.

              hab mal nen screenshot anh´gehangen, welcher selbsterklärend ist.
              gruss
              b.
              Angehängte Dateien

              Kommentar


              • #8
                Original geschrieben von muecke0815
                verstehe ich das so das du erst das layout für die tabellenanzahl durch form-felder abspeichern willst???
                nein, ich glaube nicht ganz.

                er möchte nicht die bereits in der DB vorliegenden datensätze auf diese weise ausgeben, und dort die anzahl der tabellenfelder abspeichern.

                sondern es möchte für die eingabe neuer artikeldaten dem user so viele eingabefelder anbieten, wie dieser auch artikel eingeben möchte.

                d.h. der user wird zunächst gefragt, "wie viele artikel möchtest du eingeben", er sagt 4, und bekommt auf der nächsten seite dann ein formular geliefert, in dem er vier artikel parallel eingeben kann.

                der sinn erschliesst sich mir allerdings auch nicht so ganz - was spricht dagegen, jeden artikel einzeln einzugeben?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  @wahsaga
                  ok. dich hab ich verstanden. aber deine frage ist berechtigt
                  was spricht dagegen, jeden artikel einzeln einzugeben?
                  @bastian
                  das bild erklärt einiges. aber die lösung ist (etwas) komplizierter als nur ein formular zur eingabe zu benutzen. was machst du bei 10 kategorien mit je 30 artikeln (nur ein kleines beispiel!) dann hast du da 300 zeilen! etwas unübersichtlich für den der eingeben muß
                  ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                  und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                  Kommentar


                  • #10
                    was machst du bei 10 kategorien mit je 30 artikeln (nur ein kleines beispiel!) dann hast du da 300 zeilen! etwas unübersichtlich für den der eingeben muß
                    ja da hast du recht, es werden aber pro monat max. 10 artikel bei max.3-4 kategorien(blöcken).

                    so wie es der wahsaga schon beschrieben hat, sollte es schon aussehen...
                    d.h. der user wird zunächst gefragt, "wie viele artikel möchtest du eingeben", er sagt 4, und bekommt auf der nächsten seite dann ein formular geliefert, in dem er vier artikel parallel eingeben kann.
                    jemand eine idee?
                    muss ja nichtmals unbedingt ne datenbank-lösung sein!
                    *schnief*
                    gruss
                    bastian

                    Kommentar


                    • #11
                      Original geschrieben von bastian
                      jemand eine idee?
                      wo genau liegt denn jetzt dein problem?
                      die zahl 4 an die nächste seite übergeben, und dort dann in einer schleife per echo mehrere <input>-felder etc. auszugeben, ist doch eigentlich nicht schwer ...?
                      tipp: überlege dir zunächst, wie das ergebnis in html auszusehen hat - und anschliessend, wie du eben diese html-ausgabe mit php erzeugst.
                      muss ja nichtmals unbedingt ne datenbank-lösung sein!
                      na ja, irgendwo wirst du die eingegebenen artikel ja wohl abspeichern wollen - aber so wie ich dich verstanden hatte, klang es so, als hättest du die datenbank bereits, und es ging dir nur noch um das formular mit der eingabemöglichkeit für mehrere artikel ...?
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        hast recht mit der datenbank.
                        da ich aber hier schon fargen über fragen gestellt hatte, dachte ich das eine nicht-datenbank-lösung evtl. einfacher wäre.

                        aller anfang ist schwer: und die schleife ist halt der anfang.
                        hab schon nach duplizieren und textfelder gesucht, leider keine brauchbaren ergebnisse bekommen.

                        werd mal weiter-googeln,
                        dank dir/euch für anregung, tipps und hilfe.
                        gruss
                        bastian

                        Kommentar


                        • #13
                          ne db zum abspeichern ist ok.

                          für deine tab-struktur hab ich mal nen ansatz für dich mit sessions:
                          PHP-Code:
                          <?
                          session_start();

                          if (!isset($_SESSION["countBlocks"])) $_SESSION["countBlocks"] = 1;      // Anfangswerte für Block Anzahl
                          if (isset($_POST["add_block"])) $_SESSION["countBlocks"] += 1;           // Neuer Block???

                          for ($block = 0; $block < $_SESSION["countBlocks"]; $block++)
                          {
                              if (!isset($_SESSION["countLines"][$block])) $_SESSION["countLines"][$block] = 1; // Anfangswerte für LineAnzahl pro Block
                              
                              $blockLines = (isset($_POST["add_line"][$block])) ? $_SESSION["countLines"][$block] + 1 : $_SESSION["countLines"][$block]; // Neue Line???
                              $_SESSION["countLines"][$block] = $blockLines;
                              
                              echo "<table>\n";
                              echo "<form action='" . $_SERVER["PHP_SELF"] . "' method=POST>\n";
                              echo "<input type=hidden name=add_line[" . $block . "] value=1>\n";
                              for ($line = 0; $line < $blockLines; $line++)
                              {
                                  echo "<tr><td>spalte1</td><td>spalte2</td><td>spalte3</td><td>spalte4</td></tr>\n";
                              }
                              echo "<tr><td colspan=4><input type=submit value='Zeile hinzufügen'></tr>\n";
                              echo "</form>\n";
                              echo "</table>\n";
                              
                          }

                          echo "<form action='" . $_SERVER["PHP_SELF"] . "' method=POST>\n";
                          echo "<input type=hidden name=add_block value=1>\n";
                          echo "<input type=submit value='Block hinzufügen'>\n";
                          echo "</form>\n";
                          ?>
                          funktioniert einfach wenn du es irgendwo als php script abspeicherst
                          ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
                          und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

                          Kommentar


                          • #14
                            WOW!
                            dank dir mücke,
                            das is mehr als ich erwartet hab!
                            wenns fertig ist werd ichs posten!
                            gruss
                            b.

                            Kommentar

                            Lädt...
                            X