# Frage zum <form>



## Ador (14. Mai 2009)

Hallo,
folgendes möchte ich realisieren.
Eine Art Speisekarte, wo die verschiedenen Speisen aufgelistet sind und neben jeder Speise soll ein einfaches Auswahlmenü sein, worübe man die Menge (1-10) auswählen kann.
Nun habe ich praktisch n <form>s erstellt (pizza1, pizza2...) Kann ich nun irgendwie *einen* "submit" Button erstellen, der alle n <form> weiterleitet?
Also das man nur 1 submit Button am ende der Seite für alle ausgewählten sachen klickt?

mfg


```
<div id="bestellformular">
    
    <h1>Vorspeisen:</h1>
    
    	<li>
    	020  pizza 1: bla bla bla
    	</li>
        <div id="auswahl">
            <form action = "uc04.php" method = "post">
                Menge
                <select name="pizza1">
                    <option value="0" selected> 0 </option>
                    <option value="1"> 1 </option>
                    <option value="2"> 2 </option>
                    <option value="3"> 3 </option>
                    <option value="4"> 4 </option>
                    <option value="5"> 5 </option>
                    <option value="6"> 6 </option>
                    <option value="7"> 7 </option>
                    <option value="8"> 8 </option>
                    <option value="9"> 9 </option>
                    <option value="10"> 10 </option>
                </select>            
            </form>
        </div> <!--ENDE auswahl-->
        
        <div id="separator"></div>
        
    	<li>
 021  pizza 2: bla bla bla
    	</li>
        <div id="auswahl">
            <form action = "uc04.php" method = "post">
                Menge
                <select name="pizza2">
                    <option value="0" selected> 0 </option>
                    <option value="1"> 1 </option>
                    <option value="2"> 2 </option>
                    <option value="3"> 3 </option>
                    <option value="4"> 4 </option>
                    <option value="5"> 5 </option>
                    <option value="6"> 6 </option>
                    <option value="7"> 7 </option>
                    <option value="8"> 8 </option>
                    <option value="9"> 9 </option>
                    <option value="10"> 10 </option>
                </select>            
            </form>
        </div> <!--ENDE auswahl-->
        
        <div id="separator"></div>
        
            	<li>
    	 020  pizza 3: bla bla bla

    	</li>
        <div id="auswahl">
            <form action = "uc04.php" method = "post">
                Menge
                <select name="pizza3">
                    <option value="0" selected> 0 </option>
                    <option value="1"> 1 </option>
                    <option value="2"> 2 </option>
                    <option value="3"> 3 </option>
                    <option value="4"> 4 </option>
                    <option value="5"> 5 </option>
                    <option value="6"> 6 </option>
                    <option value="7"> 7 </option>
                    <option value="8"> 8 </option>
                    <option value="9"> 9 </option>
                    <option value="10"> 10 </option>
                </select>            
            </form>
        </div> <!--ENDE auswahl-->
        
        <h1>Hauptgerichte:</h1>
        
            	<li>
030 Eis: bla bla bla
    	</li>
        <div id="auswahl">
            <form action = "uc04.php" method = "post">
                Menge
                <select name="eis1">
                    <option value="0" selected> 0 </option>
                    <option value="1"> 1 </option>
                    <option value="2"> 2 </option>
                    <option value="3"> 3 </option>
                    <option value="4"> 4 </option>
                    <option value="5"> 5 </option>
                    <option value="6"> 6 </option>
                    <option value="7"> 7 </option>
                    <option value="8"> 8 </option>
                    <option value="9"> 9 </option>
                    <option value="10"> 10 </option>
                </select>            
            </form>
        </div> <!--ENDE auswahl-->
        
        <div id="separator"></div>
        
    	<li>
030 Eis2: bla bla bla
    	</li>
        <div id="auswahl">
            <form action = "uc04.php" method = "post">
                Menge
                <select name="eis2">
                    <option value="0" selected> 0 </option>
                    <option value="1"> 1 </option>
                    <option value="2"> 2 </option>
                    <option value="3"> 3 </option>
                    <option value="4"> 4 </option>
                    <option value="5"> 5 </option>
                    <option value="6"> 6 </option>
                    <option value="7"> 7 </option>
                    <option value="8"> 8 </option>
                    <option value="9"> 9 </option>
                    <option value="10"> 10 </option>
                </select>            
            </form>
        </div> <!--ENDE auswahl-->
        
        <div id="separator"></div>
        
            	<li>
030 Eis3: bla bla bla

    	</li>
        <div id="auswahl">
            <form action = "uc04.php" method = "post">
                Menge
                <select name="eis3">
                    <option value="0" selected> 0 </option>
                    <option value="1"> 1 </option>
                    <option value="2"> 2 </option>
                    <option value="3"> 3 </option>
                    <option value="4"> 4 </option>
                    <option value="5"> 5 </option>
                    <option value="6"> 6 </option>
                    <option value="7"> 7 </option>
                    <option value="8"> 8 </option>
                    <option value="9"> 9 </option>
                    <option value="10"> 10 </option>
                </select>            
            </form>
        </div> <!--ENDE auswahl-->
    
	</div> <!--ENDE bestellformular-->
```


----------



## Manuel Hegemann (14. Mai 2009)

Warum nutzt du denn die vielen verschiedenen Forms? Hat das einen Mehrzweck? Kann ich gerade auf Anhieb nicht wirklich erkennen.

Da alle Forms die selbe Action haben und du dann einen Button nutzen willst, macht es doch mehr Sinn nur eine Form zu nutzen, oder?

Ich würde hier also ganz klar ein Form um die komplette Seite drumherum legen.


----------



## Maik (14. Mai 2009)

Hi,


Manuel Hegemann hat gesagt.:


> Ich würde hier also ganz klar ein Form um die komplette Seite drumherum legen.


... unter Entfernung der bestehenden *<form>*-Tags - damit hier keine Mißverständnisse aufkommen 

Das ul-Element, das eine unsortierte, oder das ol-Element, das eine sortierte (nummerierte) Liste im HTML-Dokument auszeichnet, hast du übrigens vergessen:

```
<h1>Vorspeisen:</h1>
    <ul>
    	   <li>
    	   020  pizza 1: bla bla bla
    	   </li>
    </ul>
    <div id="auswahl">
```

Desweiteren muß ein ID-Bezeichner (hier: #auswahl und #separator) im Dokumentbaum eindeutig sein, darf darin also nicht mehrmals vergeben werden.

mfg Maik


----------



## Ador (14. Mai 2009)

Ne, dass hat kein Sinn, dass ich soviele <form> benutzt hab, ich wusste es nur nicht besser  Also danke für den Hinweis, werd ich alles in eines packen.

Achso, das hat aber funktioniert, dass ich merhmals #auswahl benutze.
Welche andere Variante kann ich benutzen, damit ich es per CSS designen kann und nicht mehrmals #auswahl benutzen muss?
Kann man dem Form selbst eine ID oder so geben, dass ich so alle Auswahlmenüs ansprechen kann?

mfg


----------



## Manuel Hegemann (14. Mai 2009)

Mache aus <div id="auswahl"> einfach ein <div class="auswahl"> und mache im CSS aus der Raute (#) einen Punkt (.). Schon ist es wieder HTML-Konform.


----------



## Ador (14. Mai 2009)

Ok, hat alles gute geklappt, Danke.

Nun hab ich noch ne php Frage, oder soll ich dafür in ein anderes Forum?

Geht es mit diesem <form>, was ich nun hab, dass ich bei jeder Pizza einen Preis hab, welcher an eine Variable oder so übergeben wird, damit ich ihn mit anderen Pizza-preis-Variablen addieren kann, bzw. mit echo einfach ausgeben kann?
Bzw. wie realisier ich das am besten?

mfg


----------



## kuddeldaddeldu (14. Mai 2009)

Hi,

den Preis für die Pizza solltest Du aber nicht im Formular übergeben lassen (sonst bestell' ich da gerne eine für 0,00 € ^^). Die Daten hast Du doch auf dem Server z.B.  in einer Datenbank (denke ich doch mal). Da liest Du dann halt für die bestellten Pizzen die Preise aus. 

LG


----------



## Ador (14. Mai 2009)

Jo.
wie mach ich es am besten, Alle Daten in eine XML und dann irgendwie dort rausholen?
Kenn mich mit php nicht aus, sollte aber nicht schwer sein das was ich machen wir schnell anzulesen.


----------



## kuddeldaddeldu (14. Mai 2009)

Hi,



Ador hat gesagt.:


> Jo.
> wie mach ich es am besten, Alle Daten in eine XML und dann irgendwie dort rausholen?



einfache Textdatei, XML, Datenbank... Such Dir was aus, was bei Deiner Anwendung das Beste ist, musst Du selber wissen.



Ador hat gesagt.:


> Kenn mich mit php nicht aus, sollte aber nicht schwer sein das was ich machen wir schnell anzulesen.



Lesestoff:
Quakenet-Tutorial
PHP/SQL Basistutorial von Peter Kropff

LG


----------



## Manuel Hegemann (14. Mai 2009)

Also wenn du eine Datenbank zur Verfügung hast, würde ich eine Datenbank nehmen:

Tabelle: Pizzas
Attribute: ID, Pizza, Preis

Auf der Seite, auf der du das Formular auswertest fragst du nun den Preis für die übergebene Pizza ab und multiplizierst diesen mit der Anzahl der Bestellungen.


```
$qry = mysql_query("SELECT Preis FROM Pizzas WHERE Pizza='".$_POST['Pizza']."'");
$array = mysql_fetch_array($qry);
$preisFuerDiesePizza = $array['Preis'] * $_POST['AnzahlDerPizzen'];
```

$_POST['VAR'] sind die Namen der Auswahlfelder in deinem Formular!


----------

