Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Skrypt liczący kalorie
drzalek
post 6.03.2007, 01:04:09
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


Witam. Jestem nowy na forum. Php też jest nowością w moim zyciorysie. Uczę się go od jakichś dwóch tygodni i właśnie napotkałem na problem.
Potrzebuje utworzyć taki skrypt, w którym:
- użytkownik będzie z rozwijalnej listy, albo checkboxów (obojętne) wybierał kilka pozycji - chodzi dokładnie o produkty spożywcze,
- nastepnie po dokonaniu wyboru i po kliknieciu w przycisk formularza (powiedzmy "dodaj") zostanie przeniesiony na strone gdzie będą wypisane wybrane przez niego produkty spożywcze, przy czym przy każdym z tych produktów będzie okienko, w którym użytkownik będzie musiał podać wagę danego produktu
-po wpisaniu wartosci w okienka i po kliknieciu guzika (powiedzy "oblicz" tym razem) zostanie przeniesiony na strone, gdzie bedą znów wyświetlone nazwy produktów, które wybrał na początku i dodatkowo będzie wyświetlona wartość kaloryczna każdego produktu, ale powiększona o wagę, którą podał wcześniej użytkownik

I teraz tak: z dwoma pierwszymi punktami sobie poradziłem - utworzyłem formularz z checkbox'ów z nazwami produktów, każdemu nadałem nazwę: nazwa[], uzyskaną w ten sposób tablicę wydrukowałem na następnej stronie przy pomocy foreach - zresztą zamieszcze skrypt, żeby było jaśniej:

Kod pierwszej strony kalorie.html
  1. <form action="przetworzkalorie.php" method="post">
  2. <input type="checkbox" name="owoce[]" value="agrest" />agrest<br />
  3. <input type="checkbox" name="owoce[]" value="ananas" />ananas<br />
  4. <input type="checkbox" name="owoce[]" value="anans_syrop" />ananas w syropie<br />
  5. <input type="checkbox" name="owoce[]" value="arbuz" />arbuz<br />
  6. <input type="checkbox" name="owoce[]" value="awokado" />awokado<br />
  7. <input type="submit" value="dodaj" />
  8. </form>

Kod drugiej strony przetworzkalorie.php
  1. <form action="obliczkalorie.php" method="post">
  2. <table border="0">
  3. <tr>
  4. <?php
  5. foreach($owoce as $owocki)
  6. {
  7. echo'<td align="left">'.$owocki.'</td><td align="right"><input type="text" name="wartoscowoce[]" size="4" maxlength="4"/></tr><tr>';
  8. }
  9.  
  10.  
  11. ?>
  12. <tr><td colspan="2" align="center">
  13. <input type="submit" value="oblicz" />
  14. </td></table>
  15. </form>

No i teraz nie wiem jak zrobić następną stronkę.
Prawdopodobnie muszę dodać na początku zmienne tych wszystkich owoców z przypisanymi im wartościami kalorycznymi, żeby było z czego obliczyć. Ale nie wiem jak pobrać tylko te wartości, które będą odpowiadały tym wybranym przez użytkownika.

Jesli ktoś może mi pomóc, to będę bardzo zobowiązany :-)
Go to the top of the page
+Quote Post
remik09
post 6.03.2007, 09:18:16
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 10
Dołączył: 25.12.2005
Skąd: Ruda Śląska

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


hmm w formularzu chyba nie "owoce[]" tylko owoce[numerek]

a potem odbierasz to

  1. <?php
  2. $i = 0; // jesli pierwszy numerek to 0
  3. $ilosc = x // wpisujesz tu ostatni nr owoca
  4.  
  5. while ($i <= $ilosc) {
  6. $owoce[$i] = $_POST[owoce.$i];
  7. $i++;
  8. }
  9.  
  10. // a tutaj poprostu to dodaj
  11. ?>


--------------------
moj blog z glupotami
darmowe mp3

workstation: zendstudio 5.5.0 | EditPlus 3 | PHP/4.3.9 |
Go to the top of the page
+Quote Post
siemakuba
post 6.03.2007, 10:40:06
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Wydaje mi się, że najlepiej chyba trzymać dane o kaloriach w tablicy, której klucze będą odpowiadać wartościom z formularza, np.
  1. <?php
  2. $kalorie = array('agrest'=>12, 'ananas'=>100);
  3. ?>

Dalej, wartości wybrane przez użytkownika masz w $_POST['owoce'], tak?
Iterujesz więc przez $_POST['owoce'], i za każdym razem pobierasz odpowiednią wartość z tablicy $kalorie.

izi pizi dżapanizi :)

pozdr.
Go to the top of the page
+Quote Post
drzalek
post 6.03.2007, 19:46:24
Post #4





Grupa: Zarejestrowani
Postów: 170
Pomógł: 18
Dołączył: 6.03.2007

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


Dzięki wielkie, poradziłe sobie w końcu biggrin.gif
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: 24.07.2025 - 12:46