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 tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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