Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP MYSQL | Proszę o pomoc bo skrypt gdy się nie powiedzie i tak odejmuje wartość z tabeli
mateuszmz2
post 16.09.2013, 10:15:42
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.09.2013

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


Witam

Tworzę formularz wysyłający dane ogłoszenia do bazy danych mysql. Niestety stoję na części odejmujących dane po zaznaczeniu pola chcakbox.
Kolejnym problemem jest to że nie mogę odjąć wartości 0.01 czyli 100 części wartości 1. Natomiast zostaje odjęta wartość 0.1.

Mam następujący kod:

  1.  
  2. include("polaczenie.php"); // Dane do połączenia bazy danych
  3.  
  4. $oplaty_sql = mysql_query("SELECT * FROM oplaty_serwis");
  5. $oplaty = mysql_fetch_array($oplaty_sql);
  6.  
  7. if($_POST['Podswietlenie'] == 1) {
  8. $zaznaczenie = 1; // Zaznaczenie pola chackbox
  9. mysql_query("UPDATE users SET bank=bank-'".$oplaty['Podswietlenie']."' WHERE id='".$data['login']."'"); // Wartość w tabeli 0.05 kosztów za podswietlenie.
  10. }else{
  11. $zaznaczenie = 0; // Odznaczenie pola chackbox
  12. }
  13.  
  14. if(isset($_POST['wysylanie'])) {
  15.  
  16. if($data['bank'] = 0.00) {
  17.  
  18. // Jeśli stan konta wynosi 0.00 to nie można więcej odjąć środków. Problem następuje gdy są 2 bola chackbox i środki starczają na 1 usluge, Np pozostaje 0.4 a druga usługa kosztuje 0.5 to z konta zostaje odjęta kwota -0.1 a chodzi by kwota bezwględna 0.00 i dalej wystąpił błąd a środki nie zostawały odejmowane.
  19. Mi odejmuje środki nawet gdy usługa się nie powiedzie.
  20.  
  21. $wiadomosc = "<div class='error'>Posiadasz 0.00 na koncie nie możesz wykupic uslugi.</div>";
  22. }else{
  23.  
  24. mysql_query("INSERT INTO (Podswietlenie,data) VALUE ($zaznaczenie,Now())");
  25. $wiadomosc = "<div class='succes'>Ogloszenie dodane</div>";
  26.  
  27. }


  1. <form action="#" method="post">
  2. <?=$wiadomosc?>
  3. <b>Podswietlenie:</b>
  4. <input type="checkbox" name="Podswietlenie" value="1" />
  5. <input type="submit" name="wysylanie" value="wyslij"/>
  6. </form>


Proszę o pomoc w rozwiązani tego problemu.

Ten post edytował mateuszmz2 16.09.2013, 10:21:45
Go to the top of the page
+Quote Post
Sephirus
post 16.09.2013, 10:25:55
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Nie do końca rozumiem ale...

  1. include("polaczenie.php"); // Dane do połączenia bazy danych
  2.  
  3. $oplaty_sql = mysql_query("SELECT * FROM oplaty_serwis");
  4. $oplaty = mysql_fetch_array($oplaty_sql);
  5.  
  6. if($_POST['Podswietlenie'] == 1) {
  7. $zaznaczenie = 1; // Zaznaczenie pola chackbox
  8. mysql_query("UPDATE users SET bank=bank-'".$oplaty['Podswietlenie']."' WHERE id='".$data['login']."'"); // Wartość w tabeli 0.05 kosztów za podswietlenie.
  9. }else{
  10. $zaznaczenie = 0; // Odznaczenie pola chackbox
  11. }
  12.  
  13. if(isset($_POST['wysylanie'])) {
  14.  
  15. if($data['bank'] = 0.00) { // "="? :) A może jednak "=="? :)
  16.  
  17. // ...
  18.  
  19. $wiadomosc = "<div class='error'>Posiadasz 0.00 na koncie nie możesz wykupic uslugi.</div>";
  20. }else{
  21.  
  22. mysql_query("INSERT INTO (Podswietlenie,data) VALUE ($zaznaczenie,Now())");
  23. $wiadomosc = "<div class='succes'>Ogloszenie dodane</div>";
  24.  
  25. }


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
mateuszmz2
post 16.09.2013, 11:29:49
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.09.2013

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


Zmieniłem if($data['bank'] == 0.00) {

Niestety mając 0.4 a łączne koszta 2-dwóch usług to 1.5.
Ogłoszenie dodane efekt na koncie -1.1 a chodzi o to by jeśli nie stać mnie na 1 z usług to wyświetli błąd że mnie nie stać na wykupienie danej usługi.
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.06.2025 - 21:55