Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Prośba o napisanie bardzo prostego skryptu
Nastolatek
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


Witam. Chciałem prosić o napisanie bardzo prostego skryptu, a mianowicie liczącego opłatę jaką ma wnieść użytkownik za określoną ilość wyświetleń reklamy na mojej stronie. Chodzi o to że wpisuje ilość wyświetleń (w tysiącach), i klika na przycisk Licz.
A skrypt oblicza i wyświetla wynik. Dokładne dane:

Wyświetleń Cena za tysiąc wyświetleń
0-9 999 1zł
10 000-99 000 75gr
100 000-więcej 50gr

W przypadku gdy kwota wykupionej reklamy nie będzie wynosiła 25 zł lub więcej wyświetli się komunikat w którym czarwonym boldem będzie napisane:

Uwaga! Kwota za tą ilość wyświetleń nie przekracza minimalnej kwoty 25 zł! Do kwoty minimalnej brakuje: (tutaj liczba 25zł-kwota zakupu)

Proszę mnie zrozumieć, potrzebuję tego skryptu, nie jestem w stanie nic zaoferować (może jakaś drobna rzecz z dziedziny grafiki komputerowej, bo to moje hobby), a nie znam się na php zbyt dobrze żeby taki skrypt napisać.

P.S ajlepiej gdyby skrypt nie wykonywał żadnych operacji na plikach i bazy danych. Zmiana kwot na jakich liczy odbywała by się na zmianie wartości zmiennej, w której kwota będzie zapisana w postaci groszy (czyli nie 1[zł], a 100[gr]).

Proszę o pomoc, to jest praca na 5 minut dla zdolnego programisty, a ja bardzo potrzebuję tego skryptu. Będę barddzo wdzięczny osobie która poświęci dla mnie trochę swojego cennego czasu.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przenoszę na Gieldę ofert


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Zajec
post
Post #3





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Cytat(Nastolatek @ 2006-05-12 20:27:16)
Uwaga! Kwota za tą ilość wyświetleń nie przekracza minimalnej kwoty 25 zł! Do kwoty minimalnej brakuje: (tutaj liczba 25zł-kwota zakupu)
Ktoś mi kiedyś to ładnie wytłumaczył:

Tą książką to możesz w łeb dostać. Pisze się "proszę tę książkę" winksmiley.jpg

Mój skrypt nie obsługuje przedziałów, którym nie są przypisane ceny. Sądzę jednak, że tylko przez pomyłkę nie przypisałeś wartości dla 99'001 - 99'999.

Test on-line: http://zajec.net/koszt

  1. <?php
  2. if (isset($_POST['ilosc']))
  3. {
  4.     $cennik = array (
  5.     '0'=>'1',
  6.     '10000'=>'0.75',
  7.     '100000'=>'0.50'
  8.     );
  9.  
  10.  
  11.     $ilosc = $_POST['ilosc'];
  12.     while (stristr($ilosc, '  '))
  13.     $ilosc = str_replace(' ', '', $ilosc);
  14.  
  15.  
  16.     $cennik  = array_reverse($cennik, true);
  17.     foreach ($cennik as $k => $sztuka)
  18.     if ($ilosc >= $k) break;
  19.     $lacznie = $ilosc*$sztuka;
  20.  
  21.  
  22.     echo 'Zamowiłeś: '.$ilosc.'sztuk<br />';
  23.     echo 'Koszt za sztukę: '.$sztuka.'zł<br />';
  24.     echo 'Łącznie: '.$lacznie.'zł';
  25.  
  26.     if ($lacznie<25)
  27.     echo '<br />Uwaga! Kwota za tę ilość wyświetleń nie przekracza minimalnej kwoty 25zł! Do 
    kwoty minimalnej brakuje '
    .(25-$lacznie).'zł';
  28. }
  29. else
  30. {
  31.     echo '<form action="" method="post"><fieldset>';
  32.     echo '<label>Ilość wyświetleń <input type="text" name="ilosc" /></label>';
  33.     echo '<label><input type="submit" value="Policz" /></label>';
  34.     echo '</fieldset></form>';
  35. }
  36. ?>


Dodano:

1) Pamiętaj o kropkach zamiast przecinków w ułamach w php

2) Pamiętaj, że po wklepaniu ostatniej pozycji cenowej w tablicy "cennik" nie daje się przecinka

3) Dla ładnego forularza proponuję jeszcze
Kod
label {
display: block;
width: 97%;
margin: 0 2% 5px 1%;
text-align: right;
}
input {
margin-left: 2%;
width: 57%;
}


Ten post edytował Zajec 12.05.2006, 21:54:33
Go to the top of the page
+Quote Post
Nastolatek
post
Post #4





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


Dokładnie to o co mi chodziło biggrin.gif

Szacuneczek i uznanie dla Ciebie biggrin.gif

P.S. Masz rację. To była pomyłka, miało być 99 999 a nie 99 000

Aha, i jeszcze jedna poprawka. Twój skrypt wyświetla po wpisaniu "1(czyli 1 tysiak)" 1zł, czyli tyle ile powinno być za ilość. I to jest dobrze. Ale po wpisaniu 10 powinienem otrzymać 75gr, a nie 1 zł(bo to już 10 000 tysięcy). Ale to łatwiutko naprawić winksmiley.jpg
Dzięki za fatygę, będę Twoim dłużnikiem winksmiley.jpg

Dodano:

Style pod wszelkie typy pól formularzy mam opracowane już od dawna wpliku CSS mojej strony winksmiley.jpg Chociaż nie wątpię że to znacznie polepsza czytelność winksmiley.jpg

Ten post edytował Nastolatek 12.05.2006, 22:03:47
Go to the top of the page
+Quote Post
Zajec
post
Post #5





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Nie ma sprawy :-)

I faktycznie nie doczytałem, że kwota ma być podawana w tysiącach.
Go to the top of the page
+Quote Post
Nastolatek
post
Post #6





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


A mógłbym prosić o modyfikację, gdzie jeśli użytkownik nic nie wpisze wyświetla się sam komunikat: "Nie podałeś liczby wyświetleń!" ? smile.gif
Go to the top of the page
+Quote Post
Zajec
post
Post #7





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Jasne :-) Tym razem już z mnożeniem razy 1000
  1. <?php
  2. if (isset($_POST['ilosc']))
  3. {
  4.     $cennik = array (
  5.     '0'=>'1',
  6.     '10000'=>'0.75',
  7.     '100000'=>'0.50'
  8.     );
  9.  
  10.  
  11.     if (empty($_POST['ilosc']))
  12.     echo 'Nie podałeś liczby wyświetleń!';
  13.     elseif (!is_numeric($_POST['ilosc']))
  14.     echo 'Należy podać liczbę.';
  15.     else
  16.     {
  17.         $ilosc = 1000*$_POST['ilosc'];
  18.         while (stristr($ilosc, '  '))
  19.         $ilosc = str_replace(' ', '', $ilosc);
  20.  
  21.  
  22.         $cennik  = array_reverse($cennik, true);
  23.         foreach ($cennik as $k => $sztuka)
  24.         if ($ilosc >= $k) break;
  25.         $lacznie = $ilosc*$sztuka;
  26.  
  27.  
  28.         echo 'Zamowiłeś: '.$ilosc.'sztuk<br />';
  29.         echo 'Koszt za sztukę: '.$sztuka.'zł<br />';
  30.         echo 'Łącznie: '.$lacznie.'zł';
  31.  
  32.         if ($lacznie<25)
  33.     echo '<br />Uwaga! Kwota za tę ilość wyświetleń nie przekracza minimalnej k
  34. woty 25zł! Do kwoty minimalnej brakuje '.(25-$lacznie).'zł';
  35.     }
  36. }
  37. else
  38. {
  39.     echo '<form action="" method="post"><fieldset>';
  40.     echo '<label>Ilość wyświetleń <input type="text" name="ilosc" /></label>';
  41.     echo '<label><input type="submit" value="Policz" /></label>';
  42.     echo '</fieldset></form>';
  43. }
  44. ?>


Ten post edytował Zajec 13.05.2006, 00:04:41
Go to the top of the page
+Quote Post
Nastolatek
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


Jeszcze raz wielkie dzięki winksmiley.jpg
Napewno mi się przyda (bo co to za administrator jeśli każe użytkownikom, dzięki którym utrzymuje stronę, przeliczać samodzielnie smile.gif)

Dodano:
Coś jest nie tak. Gdy wpisuję 100 w polu (czyli 100 000 sztuk), w wyniku wyświetla mi się:
Zamówiłeś 100 000 sztuk
Cena za sztukę 0.50
Wartość: 50000zł laugh.gif
A powinno być:
Zamówiłeś 100 000 sztuk
Cena za tysiąc sztuk: 0.50
Wartość: (nie chce mi się liczyć smile.gif)
Jeśłi to nie sprawi problemu proszę o tę drobną modyfikację winksmiley.jpg

Ten post edytował Nastolatek 13.05.2006, 11:59:12
Go to the top of the page
+Quote Post
Zajec
post
Post #9





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Em, możesz trochę jaśniej napisać, czego oczekujesz? Dla mnie jest dobrze :-)
Go to the top of the page
+Quote Post
Nastolatek
post
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 12.05.2006

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


Chodzi dokładnie o to że cena 50 groszy nie za sztukę, ale za 1000 sztuk winksmiley.jpg A to liczy jak za 1 sztukę winksmiley.jpg
Czyli wystarczy cenę za ilosć wyświetleń podzielić na 1000 winksmiley.jpg

Czyli:
Sztuk: 100 000
Cena za 1000 sztuk: 50 groszy
Koszt : 50000 / 1000

I jeśli jeszcze można, to prosiłbym o automatyczne dodawanie spacji między liczby, a mianowicie zamiast 100000 to 100 000, oraz żeby po podliczeniu cena nie wyświetlała się: 0.50zł, tylko 50 groszy winksmiley.jpg

Wiem że dużo wymagam, więc jeśli sprawi to jakiś problem moge oddać ten skrypt do przeróbki do mojego kolegi, który się nim zajmie. Z chęcią obrazu bym go poprosił o taki skrypt, zamiast zawracać głowę nieznajomej osobie, ale obecnie musi się ostro uczyć jeśli chce zdać w liceum winksmiley.jpg

Ten post edytował Nastolatek 13.05.2006, 13:50:02
Go to the top of the page
+Quote Post
NuLL
post
Post #11





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Starczy.

Zajec dzieki za to co zrobies smile.gif

...ale lenistwo zupelne tepimy na tym forum.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 06:57