Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wyliczaniem iloczynu 3-ech liczb
servs
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Witam,

Mam takie coś:

  1. <?php
  2.  
  3. $url = 'http://xml.dgcsc.org/samples/SilverBE.xml';
  4. $xml = new SimpleXMLElement($url,null,true);
  5. $silver1 = $xml->xpath("/SilverPrice/GBP");
  6.  
  7. $query = mysql_query("SELECT * FROM `ps_product` WHERE `id_category_default` = 4");
  8.  
  9. while($row = mysql_fetch_array($query)){
  10. if($row['wholesale_price'] == 0){
  11. $margin = 1;
  12. } else{
  13. $margin = $row['wholesale_price']/100;
  14. }
  15. $prs = $row['weight'] * $sp * $margin;
  16. echo 'Złoto '.$row['id_product'].'('.$row['weight'].'g/'.$sp.'/'.$margin.') - nowa cena: '.$prs.'<br />';
  17. }
  18.  
  19. ?>


Skrypt ma za zadanie co jakiś czas zmieniać ceny poszczegołnych produktów w sklepie podpiętych pod kategorię o id 4.
Niestety z akażdym razem w wyniku dostaję 0 pomimo tego, że $row['weight'] w każdym przypadku jest większe od 0, $sp (zgodnie z danymi z xmla) też większe od 0 i $margin wszędzie wynosi 1.

Nie mam już do tego nerwów.

Ma ktoś pomysł o co tu chodzi?

Pozdrawiam.

Ten post edytował servs 30.05.2012, 14:11:40
Go to the top of the page
+Quote Post
minolone
post
Post #2





Grupa: Zarejestrowani
Postów: 141
Pomógł: 24
Dołączył: 21.06.2008

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


Jesteś pewny że zmienna $sp jest większa od zera? XML-a pobierasz do zmiennej $silver1 i nic z nią więcej nie robisz, skoro pobierasz kurs GBP to powinieneś wykorzystać zmienną $silver1, zmienna ta jest tablica więc dosanie sie najszybszym sposobem to $silver1[0][0], a zmienna $sp w tym kodzie co podałeś nie będzie większa od 0.
Go to the top of the page
+Quote Post
servs
post
Post #3





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Przepraszam, wyciąłem z kodu niepotrzebne rzeczy.
Jest tam zapis $sp = $silver1[0][0];
Go to the top of the page
+Quote Post
minolone
post
Post #4





Grupa: Zarejestrowani
Postów: 141
Pomógł: 24
Dołączył: 21.06.2008

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


Użyj typu danych dla zmiennych, np. dla $sp użyj (float), czyli $sp = (float)$silver1[0][0].
Go to the top of the page
+Quote Post
servs
post
Post #5





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Właśnie tak się zastanawiałem, czy nie można deklarować typu jak w C.

Wielkie dzięki! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 20:00