Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Działanie matematyczne
marex112
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.08.2016

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


Potrzebuję pomocy z wykonaniem działania matematycznego
To co znajduje się w zarobku (netto) chcę żeby pokazywało sam wynik.
Tak to na razie wygląda
(IMG:http://i.imgur.com/EwRtFXX.png)


Obecny kod:
  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select dystans*2 AS brutto, kosztpaliwa, floor(mandaty*0.1) AS mandacik, floor(dystans/500) AS bramki, floor(dystans*0.15) AS serwis, premia, kara from trasy where id_trasy='".(int)$_GET['id']."'"); // 1
  4. while($rekord = mysql_fetch_array($query))
  5. {
  6. echo ' <tr>
  7. <th style="width:50%">Zarobek (brutto):</th>
  8. <td>'.$rekord[0].' ?</td>
  9. </tr>
  10. <tr>
  11. <th>Mandaty:</th>
  12. <td>- '.$rekord[2].' ?</td>
  13. </tr>
  14. <tr>
  15. <th>Koszt paliwa:</th>
  16. <td>- '.$rekord[1].' ?</td>
  17. </tr>
  18. <tr>
  19. <th>Koszta bramek:</th>
  20. <td>- '.$rekord[3].' ?</td>
  21. </tr>
  22. <tr>
  23. <th>Serwis:</th>
  24. <td>- '.$rekord[4].' ?</td>
  25. </tr>
  26. <tr>
  27. <th>Kara:</th>
  28. <td>- '.$rekord[6].' ?</td>
  29. </tr>
  30. <tr>
  31. <th>Premia:</th>
  32. <td>+ '.$rekord[5].' ?</td>
  33. </tr>
  34. ';
  35. }
  36. ?>


Ten post edytował marex112 5.05.2017, 16:52:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


A w tym kodzie, który wkleiłeś, w ogóle nie ma ostatniego wiersza pokazującego w jaki sposób w tej chwili wyświetlasz zarobek netto.
Nie próbowałeś po prostu pododawać tych wartości?
  1. $rekord[0] + $rekord[1] + ...
Go to the top of the page
+Quote Post
marex112
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.08.2016

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


Cytat(bostaf @ 5.05.2017, 17:13:13 ) *
A w tym kodzie, który wkleiłeś, w ogóle nie ma ostatniego wiersza pokazującego w jaki sposób w tej chwili wyświetlasz zarobek netto.
Nie próbowałeś po prostu pododawać tych wartości?
  1. $rekord[0] + $rekord[1] + ...

Faktycznie zapomnialem go tutaj dodac.
  1. '.$rekord[0].' - '.$rekord[2].' - '.$rekord[1].' - '.$rekord[3].' - '.$rekord[4].' - '.$rekord[6].' + '.$rekord[5].'

Jak tak zrobie to wychodzi liczba na minusie i usuwa inne wiersze (tylko ten wynik sie pokazuje, błędne z resztą):
  1. '.$rekord[0] - $rekord[2] - $rekord[1] - $rekord[3] - $rekord[4] - $rekord[6] + $rekord[5].'


Ten post edytował marex112 5.05.2017, 21:26:18
Go to the top of the page
+Quote Post
bostaf
post
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

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


Cytat(marex112 @ 5.05.2017, 22:25:12 ) *
Jak tak zrobie to wychodzi liczba na minusie i usuwa inne wiersze (tylko ten wynik sie pokazuje, błędne z resztą):
  1. '.$rekord[0] - $rekord[2] - $rekord[1] - $rekord[3] - $rekord[4] - $rekord[6] + $rekord[5].'

Poczytaj o używaniu apostrofów i cudzysłowów.
W skrócie, w apostrofach i cudzysłowach wyświetlany jest tekst. Jeśli chcesz wykonywać operacje matematyczne, to muszą być poza apostrofami/cudzysłowami, czyli po prostu:
  1. echo $rekord[0] + $rekord[2] + $rekord[1] + $rekord[3] + $rekord[4] + $rekord[6] + $rekord[5]


PS. Wydaje mi się, że w bazie przechowujesz liczby ujemne, czyli w działaniu powinieneś stosować tylko dodawanie. Ale sprawdź.
Go to the top of the page
+Quote Post
marex112
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.08.2016

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


Cytat(bostaf @ 5.05.2017, 23:56:21 ) *
Poczytaj o używaniu apostrofów i cudzysłowów.
W skrócie, w apostrofach i cudzysłowach wyświetlany jest tekst. Jeśli chcesz wykonywać operacje matematyczne, to muszą być poza apostrofami/cudzysłowami, czyli po prostu:
  1. echo $rekord[0] + $rekord[2] + $rekord[1] + $rekord[3] + $rekord[4] + $rekord[6] + $rekord[5]


PS. Wydaje mi się, że w bazie przechowujesz liczby ujemne, czyli w działaniu powinieneś stosować tylko dodawanie. Ale sprawdź.

Nie ma żadnych ujemnych liczb w bazie.
Teraz ten kod poniżej zwraca mi wynik -1666 (nieprawidłowy), a jak zmienie na same dodawanie to wynik jest 1666. Czyli coś nie tak.
  1. <?php
  2. include("polacz.php");
  3. $query = mysql_query("select dystans*2 AS brutto, kosztpaliwa, floor(mandaty*0.1) AS mandacik, floor(dystans/500) AS bramki, floor(dystans*0.15) AS serwis, premia, kara from trasy where id_trasy='".(int)$_GET['id']."'"); // 1
  4. while($rekord = mysql_fetch_array($query))
  5. {
  6. echo ' <tr>
  7. <th style="width:50%">Zarobek (brutto):</th>
  8. <td>'.$rekord[0].' €</td>
  9. </tr>
  10. <tr>
  11. <th>Mandaty:</th>
  12. <td>- '.$rekord[2].' €</td>
  13. </tr>
  14. <tr>
  15. <th>Koszt paliwa:</th>
  16. <td>- '.$rekord[1].' €</td>
  17. </tr>
  18. <tr>
  19. <th>Koszta bramek:</th>
  20. <td>- '.$rekord[3].' €</td>
  21. </tr>
  22. <tr>
  23. <th>Serwis:</th>
  24. <td>- '.$rekord[4].' €</td>
  25. </tr>
  26. <tr>
  27. <th>Kara:</th>
  28. <td>- '.$rekord[6].' €</td>
  29. </tr>
  30. <tr>
  31. <th>Premia:</th>
  32. <td>+ '.$rekord[5].' €</td>
  33. </tr>
  34. <tr>
  35. <th>Zarobek (netto):</th>
  36. <td>'.$rekord[0] - $rekord[2] - $rekord[1] - $rekord[3] - $rekord[4] - $rekord[6] + $rekord[5].'</td>
  37. </tr>
  38. ';
  39. }
  40. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 05:17