Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 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
 
Start new topic
Odpowiedzi (1 - 10)
nospor
post
Post #2





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




Przenoszę na Gieldę ofert
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ę" (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Szacuneczek i uznanie dla Ciebie (IMG:http://forum.php.pl/style_emoticons/default/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ć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Dzięki za fatygę, będę Twoim dłużnikiem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Dodano:

Style pod wszelkie typy pól formularzy mam opracowane już od dawna wpliku CSS mojej strony (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Chociaż nie wątpię że to znacznie polepsza czytelność (IMG:http://forum.php.pl/style_emoticons/default/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ń!" ? (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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ł (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
A powinno być:
Zamówiłeś 100 000 sztuk
Cena za tysiąc sztuk: 0.50
Wartość: (nie chce mi się liczyć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Jeśłi to nie sprawi problemu proszę o tę drobną modyfikację (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A to liczy jak za 1 sztukę (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Czyli wystarczy cenę za ilosć wyświetleń podzielić na 1000 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

...ale lenistwo zupelne tepimy na tym forum.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 15:36