20. april 2009 - 10:18
Der er
9 kommentarer og 1 løsning
Udregne x antal vinduer
Hej eksperter, jeg skal lige ha' lavet en funktion der kan udregne det samlede areal af x antal ovenlys vinduer man har på sit tag... men kan ikke lige komme i tanke om den lille ting der gør der rigtigt, så håber der er nogle herinde der kan være behjælpelige. Der er først et input-felt hvori man taster det antal ovenlys vinduer man har på sit tag... så bliver der udskrevet felter til indtastning af højde/bredde for hvert vindue med denne: ------------------------- for($i = 1; $i <= $numofwindows; $i++) { print "<b>Vindue". $i . "</b><br />"; print '<input type="text" name="window_height[]" value="" size="5" /> Højde<br />'; print '<input type="text" name="window_width[]" value="" size="5" /> Bredde<p></p>'; } ------------------------- men det er det næste step jeg ikke lige kan komme i tanke om... den skal jo så udregne arealet af hvert vindue og så udregne det samlede areal af alle vinduer til sidst... Hvis man nu har 2 vinduer, så er det areal-vindue1+areal-vindue2.. en der kan hjælpe?
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
20. april 2009 - 10:52
#1
når du løber arrayet af "vinduer" igennem, er det vel bare: $windows = sizeof($POST['window_height']); $height = $_POST['window_height']; $width = $_POST['window_width']; for($i=0;$i<$windows;$i++){ $area = $height[$i]*$width[$i]; $total_area += $area; } med forbehold for tastefejl osv :)
20. april 2009 - 12:10
#2
Takker :) Men der er et eller andet der ikke helt spillet for når jeg indtaster målene på vinduet/vinduerne så hopper den bare tilbage til indtastningen af antal vinduer, men det er garanteret min fejl... Hele min vindue kode er: ----------------------------------- } elseif($addonroof == "ovenvindue") { print '<b>Vælg ovenlys vindue</b>'; if(!isset($_POST["windownum_submit"])) { print '<form action="'. $PHP_SELF .'" method="post">'; print '<input type="text" name="window_num" value="" size="5" /> Indtast antal ovenlys vinduer<br />'; print '<p><input type="submit" name="windownum_submit" value="Indtast mål" class="nextInput" /></p>'; print '</form>'; } if(isset($_POST["windownum_submit"]) && !isset($_POST["windows_submit"])) { $numofwindows = $_POST["window_num"]; print '<form action="'. $PHP_SELF .'" method="post">'; for($i = 1; $i <= $numofwindows; $i++) { print "<b>Vindue". $i . "</b><br />"; print '<input type="text" name="window_height[]" value="" size="5" /> Højde<br />'; print '<input type="text" name="window_width[]" value="" size="5" /> Bredde<p></p>'; } print '<p><input type="submit" name="windows_submit" value="Indtast" class="nextInput" /></p>'; } if(isset($_POST["windows_submit"])) { $windows = sizeof($POST['window_height']); $height = $_POST['window_height']; $width = $_POST['window_width']; for($i=0;$i<$windows;$i++){ $area = $height[$i]*$width[$i]; $total_area += $area; } } print '</form>'; } ------------------------------------
20. april 2009 - 12:27
#3
Hov... } elseif($addonroof == "ovenvindue") { print '<b>Vælg ovenlys vindue</b>'; if(!isset($_POST["windownum_submit"])) { print '<form action="'. $PHP_SELF .'" method="post">'; print '<input type="text" name="window_num" value="" size="5" /> Indtast antal ovenlys vinduer<br />'; print '<p><input type="submit" name="windownum_submit" value="Indtast mål" class="nextInput" /></p>'; print '</form>'; } if(isset($_POST["windownum_submit"]) && !isset($_POST["windows_submit"])) { $numofwindows = $_POST["window_num"]; print '<form action="'. $PHP_SELF .'" method="post">'; for($i = 1; $i <= $numofwindows; $i++) { print "<b>Vindue". $i . "</b><br />"; print '<input type="text" name="window_height[]" value="" size="5" /> Højde<br />'; print '<input type="text" name="window_width[]" value="" size="5" /> Bredde<p></p>'; } print '<p><input type="submit" name="windows_submit" value="Indtast" class="nextInput" /></p>'; } print '</form>'; if(isset($_POST["windows_submit"])) { $windows = sizeof($POST['window_height']); print $windows; $height = $_POST['window_height']; $width = $_POST['window_width']; for($i=0;$i<$windows;$i++){ $area = $height[$i]*$width[$i]; $total_area += $area; } } } men $windows giver 0... så den kommer aldrig til den sidste for-løkke...
20. april 2009 - 12:36
#4
prøv med: } elseif($addonroof == "ovenvindue") { print '<b>Vælg ovenlys vindue</b>'; if(!isset($_POST["windownum_submit"]) && !isset($_POST['windows_submit'])) { print '<form action="'. $PHP_SELF .'" method="post">'; print '<input type="text" name="window_num" value="" size="5" /> Indtast antal ovenlys vinduer<br />'; print '<p><input type="submit" name="windownum_submit" value="Indtast mål" class="nextInput" /></p>'; print '</form>'; } if(isset($_POST["windownum_submit"]) && !isset($_POST["windows_submit"])) { $numofwindows = $_POST["window_num"]; print '<form action="'. $PHP_SELF .'" method="post">'; for($i = 1; $i <= $numofwindows; $i++) { print "<b>Vindue". $i . "</b><br />"; print '<input type="text" name="window_height[]" value="" size="5" /> Højde<br />'; print '<input type="text" name="window_width[]" value="" size="5" /> Bredde<p></p>'; } print '<p><input type="submit" name="windows_submit" value="Indtast" class="nextInput" /></p>'; } if(isset($_POST["windows_submit"])) { $windows = sizeof($POST['window_height']); $height = $_POST['window_height']; $width = $_POST['window_width']; for($i=0;$i<$windows;$i++){ $area = $height[$i]*$width[$i]; $total_area += $area; } } print '</form>'; } før vil den naturligvis gå ind i den først if, da "windownum_submit" ikke er sat, når du indtaster målene
20. april 2009 - 12:54
#5
fixed... $windows = sizeof($POST['window_height']); skal selvfølgelig være: $windows = sizeof($_POST['window_height']); :) Takker for hjælpen! Smider du et svar for point?
20. april 2009 - 12:58
#6
ja, der gik det lige lidt for stærkt :) velbekomme
20. april 2009 - 13:00
#7
Hov.. en lille ting mere... hvis jeg f.eks. laver 2 vinduer med vindue1 som 1h 2b og vindue2 med 2h 2b .. og jeg så udskriver $totalarea så skriver den 26.. hvor 2 er det første vindue og 6 er det samlede areal...
20. april 2009 - 13:18
#8
prøv at echo $area i for-løkken, for at se om den regner rigtigt hver gang, og om du kan spore fejlen den vej
20. april 2009 - 13:21
#9
Det prøver jeg :) Takker for hjælpen :)
20. april 2009 - 13:27
#10
selv tak, tak for point
Vi tilbyder markedets bedste kurser inden for webudvikling