Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz generowany dynamicznie, jak ustawic rozne wartosci dni, miesiecy
Maciak
post 20.06.2005, 01:02:34
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 20.06.2005

Ostrzeżenie: (0%)
-----


Witam wszystkich smile.gif

Jestem bardzo poczatkujacy w temacie php. Napotkalem problem, ktorego sam nie dam rady rozwiazac.

Mam bardzo prosty formularz w HTMLu:
  1. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  2.  
  3. <p><b> Kwota pożyczki: </b><input type="text" name="kwota" size="10" value="<?php if (isset($_POST['kwota'])) echo $_POST['kwota']; ?>" />zł </p>
  4.  
  5. <p><b> Ilość rat: </b><input type="text" name="raty" size="5" value="<?php if (isset($_POST['raty'])) echo $_POST['raty']; ?>" /></p>
  6.  
  7. <p><b> Spłata od dnia: </b><input type="text" name="od_dnia" size="2" value="<?php if (isset($_POST['od_dnia'])) echo $_POST['od_dnia']; ?>" /></p>
  8.  
  9. <input type="submit" name="submit" value="Dalej" >


A tuz pod nim kod php:

  1. <?php
  2.  
  3.  
  4. $dni = range(1, 31);
  5. $miesiace = array (1 => 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');
  6. $lata = range(2006, 2036);
  7.  
  8. if(isset($_POST['kwota']) AND isset($_POST['raty']) AND isset($-POST['od_dnia'])}
  9. {
  10. for ($i=1; $i <= $raty; $i++)
  11. {
  12. echo &#092;"<b>$i</b> rata: \";
  13.  
  14.  
  15. echo '<select name=\"day\">';
  16. foreach ($dni as $v)
  17. {
  18.  echo &#092;"<option value=\"$v\">$v</option>n\";
  19. }
  20. echo '</select>';
  21.  
  22.  
  23. echo '<select name=\"month\">'; 
  24. foreach ($miesiace as $key => $value)
  25.  {
  26.  echo &#092;"<option value=\"$key\">$value</option>n\";
  27.  }
  28. echo '</select>';
  29.  
  30.  
  31. echo '<select name=\"year\">';
  32. foreach ($lata as $value)
  33. {
  34.  echo &#092;"<option value=\"$value\">$value</option>n\";
  35. }
  36. echo '</select>';
  37.  
  38. echo ' Wplata: <input type=\"text\" name=\"wplata\" size=\"8\" maxlength=\"8\">';
  39.  
  40. echo '<br /><br />';
  41.  
  42. }
  43.  
  44. }  
  45.  
  46. ?>


Kod dziala, generuje formularz w stylu:

1 rata [ 1 ] [ Styczeń ] [ 2006 ] Wplata: [ ]
2 rata [ 1 ] [ Styczeń ] [ 2006 ] Wplata: [ ]
3 rata [ 1 ] [ Styczeń ] [ 2006 ] Wplata: [ ]
itp


Co powinienem zmienic w powyzszym kodzie php, by wynik koncowy zalezal od numeru dnia wprowadzonego przez uzytkownika i by miesiace zwiekszaly sie w kazdym wierszu - cos w stylu:

1 rata [ 5 ] [ Styczeń ] [ 2006 ] Wplata: [ ]
2 rata [ 5 ] [ Luty ] [ 2006 ] Wplata: [ ]
3 rata [ 5 ] [ Marzec] [ 2006 ] Wplata: [ ]
4 rata [ 5 ] [ Kwiecień ] [ 2006 ] Wplata: [ ]

questionmark.gif?



Z gory dziekuje za pomoc smile.gif

Pozdrawiam
Maciak

EDIT:

Po calonocnym przemysleniu sprawy zrobilem to tak:

  1. <?php
  2.  
  3. if( ($_POST['kwota'] <> 0) AND ($_POST['raty'] <> 0))
  4. {
  5. $d = $_POST['day'];  // dzien pierwszej wplaty
  6. $m = $_POST['month']; // miesiac pierwszej wplaty
  7. $y = $_POST['year']; // rok pierwszej wplaty
  8.  
  9.  
  10. for ($i=1; $i <= $raty; $i++)
  11. {
  12. echo &#092;"<b>$i</b> rata: \";
  13.  
  14.  
  15. echo '<select name=\"day'.$i.'\">';
  16. foreach ($dni as $v)
  17. {
  18.  if ( $v == $d) // ustawia numer dnia, ktory uzytkownik
  19. echo &#092;"<option value=\"$v\" selected >$v</option>n\"; //wybral jako dzien wplaty
  20.  else
  21.  echo &#092;"<option value=\"$v\">$v</option>n\";
  22. }
  23. echo '</select>';
  24.  
  25. echo '<select name=\"month'.$i.'\"\">'; 
  26. foreach ($miesiace as $k => $v)
  27. {
  28. if ( $k == $m) // wybiera nazwe miesiaca
  29.  echo &#092;"<option value=\"$k\" selected>$v</option>n\";  
  30. else
  31.  echo &#092;"<option value=\"$k\">$v</option>n\";
  32. }
  33. echo '</select>';
  34.  
  35.  
  36. echo '<select name=\"year'.$i.'\">';
  37. foreach ($lata as $v)
  38. {
  39.  if ($v == $y)  // wybiera numer roku
  40. echo &#092;"<option value=\"$v\" selected>$v</option>n\";
  41.  else
  42. echo &#092;"<option value=\"$v\">$v</option>n\";
  43. }
  44. echo '</select>';
  45.  
  46.  
  47.  
  48. echo ' Wpłata: <input type=\"text\" name=\"wplata'.$i.'\" value=\"\" size=\"8\" maxlength=\"8\">';
  49.  
  50. echo '<br /><br />';
  51.  
  52. $m++; // po kazdej petli zwieksza numer miesiaca o jeden
  53. if ($m > 12 ) 
  54. {
  55. $m = $m - 12; // po grudniu bierzacego roku przeskok na styczen...
  56. $y++; // ... nastepnego roku
  57. }
  58.  
  59.  }
  60.  
  61. ?>



To dziala thumbsupsmileyanim.gif

Pytanie do doswiadczonych ludzi - czy mozna to zrobic estetyczniej? smile.gif

Ten post edytował Maciak 20.06.2005, 11:50:20
Go to the top of the page
+Quote Post
Wave
post 2.07.2005, 16:45:07
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. $m = $m - 12;
  4. // ->
  5. $m -= 12;
  6. ...
  7. if( ($_POST['kwota'] <> 0) AND ($_POST['raty'] <> 0))
  8. // ->
  9. if( empty( trim ( $_POST['kwota'] ) ) && empty( trim ( $_POST['raty'] ) ) )
  10. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 03:49