Unbestimmte Menge an Variablen.

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

  • Unbestimmte Menge an Variablen.

    Bastle gerade an einer art von Onlinekatalog mit Bestellformular.

    Das dumme ist das ich über 50 verschiedene Produktlisten habe die unterschiedlich lang sind.

    daher wird das Formular generiert.
    Manchmal habe ich 20 mal

    <input name='Menge' type='text' class='input' size='5' maxlength='5' value=''>\n

    stehen. Und manchmal 40 mal.

    Jetzt dachte ich das zwar überall die Formulardaten mit $Menge weitergegeben werden als arrays. Was anscheinend nicht stimmen kann.

    Bin langsam verzweifelt mein Gehirn blockt einfach und ich weiß nicht weiter.

    Es muss doch eine Einfache Lösung geben?

  • #2
    Code:
    <input name="Menge[]" ...

    Kommentar


    • #3
      Hallo!


      Ja mit Menge[] ist mir klar.... aber ich kann die daten nicht abrufen

      weil ich bei Menge[n] nie weiß weiviel "n" ist !

      Kommentar


      • #4
        von 0 bis n, wobei n die anzahl deiner einträge minus eins ist.
        kannst die indizies aber auch manuell vergeben, wenn ich mich nicht irre.

        Kommentar


        • #5
          <input name='Menge[]' type='text' class='input' size='5' maxlength='5' value=''>


          das war mein erster versuch das geht nicht

          Kommentar


          • #6
            [...] das geht nicht
            dann sag mal zum arzt "ich hab hier aua".

            Kommentar


            • #7
              Schonmal was von foreach() und count() gehört? Nein?

              PHP-Code:
              header('Location: http://www.php.net'); 



              Gruß

              Kommentar


              • #8
                Tut mir echt Leid bin nur schon sehr sehr frustriert und desto frustrierter man desto blinder wird man ....

                So wird ein Formular generiert manchmal 20 zeilen manchmal 40 oder mehr. da die Zeilen Anzahl nicht fix ist kann ich beim entgegen nehmen mit $_GET ja auch nicht angeben was er den nehmen soll z.B. Menge[?]

                Oder das er mir wenigstens das ganze in die Session schreibt.

                include 'db.php';
                $dbString1 = mysql_query("SELECT * FROM uos_objects where obj_lid = '1' AND obj_group = '" . $_GET['dbGroup'] . "' ");



                if ($dbString1){

                while ($row = mysql_fetch_array($dbString1, MYSQL_ASSOC)) {
                $id = $row['obj_id'];
                $image = $row['obj_image'];
                $desc = $row['obj_desc'];
                $volume = $row['obj_volume'];
                $size = $row['obj_size'];
                $price = $row['obj_price'];
                $group = $row['obj_group'];
                $lid = $row['obj_lid'];

                echo "<tr valign='top'><td height='84' rowspan='6' align='center' valign='top' bgcolor='#fffccc'>
                <img src='" . $image . "' width='50' height='50'><br>\n
                </td><td height='12' align='left' valign='middle' bgcolor='#FFFCCC' class='textFett12'>\n
                <span class='text12'>&nbsp;&nbsp;&nbsp;&nbsp;" . $desc . "</span></td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $volume . "</td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $size . "</td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $price . "</td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>\n
                <input name='Menge[]' type='text' class='input' size='5' maxlength='5' value=''>\n
                <input name='Artikelnummer[]' type='hidden' value='" . $id . "'>";

                echo "</td>\n
                </tr>";


                $dbString2 = mysql_num_rows(mysql_query("SELECT * FROM uos_objects WHERE obj_image = '$image'"));
                if ($dbString2) {
                $lid_blanks = 6 - $dbString2;
                }
                $dbString3 = mysql_query("SELECT * FROM uos_objects WHERE obj_image = '$image' AND obj_lid != '1'");
                if ($dbString3) {

                while ($row = mysql_fetch_array($dbString3, MYSQL_ASSOC)) {
                $id = $row['obj_id'];
                $image = $row['obj_image'];
                $desc = $row['obj_desc'];
                $volume = $row['obj_volume'];
                $size = $row['obj_size'];
                $price = $row['obj_price'];
                $group = $row['obj_group'];
                $lid = $row['obj_lid'];

                echo "<tr valign='top'><td height='12' align='left' valign='middle' bgcolor='#FFFCCC' class='textFett12'>\n
                <span class='text12'>&nbsp;&nbsp;&nbsp;&nbsp;" . $desc . "</span></td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $volume . "</td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $size . "</td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>" . $price . "</td>\n
                <td height='12' align='center' valign='middle' bgcolor='#FFFCCC' class='text12'>\n
                <input name='Menge[]' type='text' class='input' size='5' maxlength='5'>\n
                <input name='Artikelnummer[]' type='hidden' value='" . $id . "'>";
                echo "</td>\n
                </tr>";
                }

                Kommentar


                • #9
                  Wie wärs mit...



                  PHP-Code:
                  echo '<input type="hidden" name="varcount" value="'.mysql_num_rows($dbString1).'" />'

                  Zu deutsch:

                  Ein Verstecktes Formular mit der Anzahl der n-s

                  Kommentar


                  • #10
                    Ich werde meine PHP4 Bücher verbrennen.

                    Kaum sind sie 1-2 Jahre alt stimmt schon gar nichts mehr.
                    das mit count() ist ein guter tip mit dem werde ich es versuchen.

                    vielen dank an alle!

                    Kommentar


                    • #11
                      count() gibt es schon seit PHP3. Dein Buch ist also nicht veraltet sondern ... naja sagen wir mal lückenhaft.
                      Soll nicht heißen, dass es schlecht ist. Ich habe noch kein Buch gesehen, dass alle PHP-Funktionen abdeckt (wäre aufgrund des Umfangs sicher ein Ladenhüter).

                      Kommentar


                      • #12
                        IMHO sollten Bücher sowieso nicht das Handbuch ersetzen, sondern lediglich die Möglichkeiten aufzeigen sowie Tips bei der Umsetzung von Ideen liefern.....
                        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                        var_dump(), print_r(), debug_backtrace und echo.
                        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                        Kommentar


                        • #13
                          Mir wäre geholfen wenn ich ein Referenz Handbuch hätte wie www.php.net aber ingedruckter form.

                          Kommentar


                          • #14
                            wo ist das problem?

                            http://de2.php.net/manual/de/print/index.php

                            und dann brav jede seite wieder einzeln anklicken zum ausdrucken. ;-)
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              http://de2.php.net/get/php_manual_de.chm/from/a/mirror

                              Im Windows-Hilfe Format. Also doppelklicken und schon hat man seine Doku in nem handlichen Format. Und die Momentane Version ist sehr aktuell ( 22. Okt. )

                              Kommentar

                              Lädt...
                              X