Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak obliczyć średnią z dwóch liczb?
Forum PHP.pl > Forum > PHP
Saki
Witam, mam dwa liczby w dwóch kolumnach

| votePlus | voteMinus |

Czy to jest poprawne?
  1. EXPLAIN SELECT `votePlus`, `voteMinus` FROM `xxx` LIMIT 30
CuteOne
  1. SELECT ((votePlus + voteMinus) / 2) AS srednia FROM xxxx LIMIT 30


nie mam pojęcia czy zadziała a nie mam gdzie tego sprawdzić ;P
Saki
Cytat(CuteOne @ 1.10.2011, 01:30:33 ) *
  1. SELECT ((votePlus + voteMinus) / 2) AS srednia FROM xxxx LIMIT 30


nie mam pojęcia czy zadziała a nie mam gdzie tego sprawdzić ;P


Nie działa niestety.

  1. <?php
  2.  
  3. $sql=mysql_query("SELECT ((votePlus + voteMinus) / 2) AS srednia FROM xxx LIMIT 30");
  4.  
  5. while($row=mysql_fetch_array($sql))
  6. {
  7. $id = $row['id'];
  8. $up = $row['votePlus'];
  9. $down = $row['voteMinus'];
  10. ?>
  11.  
  12. <!-- each -->
  13.  
  14. <?=$id?> +<?=$up?> | -<?=$down?> <br />
  15.  
  16. <?php } ?>
wookieb
No a zrób sobie
  1. print_r($row);
adamowski123
a może avg() w sql?
tsesola
spróbuj
  1. $sql=mysql_query("SELECT *,((votePlus + voteMinus) / 2) AS srednia FROM xxx LIMIT 30");

albo
  1. $sql=mysql_query("SELECT id,votePlus , voteMinus,((votePlus + voteMinus) / 2) AS srednia FROM xxx LIMIT 30");

rotflonline.pl
A może tak?
$sql=@mysql_query("SELECT *,((votePlus + voteMinus) / 2) AS srednia FROM xxx LIMIT 30");
i tak:
while($row=@mysql_fetch_array($sql))
i zastąp:
<= na <?php echo
i tak zrrób jeszcze:
$wynik = print_r($row, TRUE);
echo $wynik;
I jakie masz ustawienia w php.ini?

Z poważaniem
Zespół rotflonline.pl
pyro
Hahahah. Ostatnio nie mam w zwyczaju komuś wytykać błędów, ale to jest jednak chyba drobna przesada.

Cytat(rotflonline.pl @ 6.10.2011, 19:26:20 ) *
A może tak?
$sql=@mysql_query("SELECT *,((votePlus + voteMinus) / 2) AS srednia FROM xxx LIMIT 30");


Rozumiem, że nie chciało Ci się samemu myśleć, to postanowiłeś przepisać rozwiązanie z pierwszego postu od @CuteOne?

Cytat(rotflonline.pl @ 6.10.2011, 19:26:20 ) *
A może tak?
while($row=@mysql_fetch_array($sql))


Chciałeś naprawić problem wyciszając błędy?

Cytat(rotflonline.pl @ 6.10.2011, 19:26:20 ) *
i zastąp:
<= na <?php echo


Miał tak zrobić... żeby to nie zmieniło zupełnie nic w rozwiązaniu problemu?

Cytat(rotflonline.pl @ 6.10.2011, 19:26:20 ) *
$wynik = print_r($row, TRUE);
echo $wynik;


To mnie zupełnie rozwaliło specool.gif Nikt nie powiedział waszemu teamowi, że:
  1. $wynik = print_r($row, TRUE);
  2. echo $wynik;


to dokładnie to samo co:

  1. print_r($row);


questionmark.gif Nie wiem jak można sobie tak utrudniać życie.

Cytat
I jakie masz ustawienia w php.ini?


Hhahahahah. Wygląda na to, że Tobie w rozwiązaniu problemu przydadzą się też ustawienia jego mikrofalówki.

Cytat
Z poważaniem
Zespół rotflonline.pl


Niech wasz "zespół" wróci do ksiązek.

Z poważaniem,
pyro

Do autora tematu:

  1.  
  2. <?php
  3.  
  4. // poprawiony skrypt
  5.  
  6. $sql=mysql_query("SELECT ((votePlus + voteMinus) / 2) AS srednia FROM xxx LIMIT 30");
  7.  
  8. while($row=mysql_fetch_assoc($sql)) // tutaj zamiast 'array' ma byc assoc, to duza roznica
  9. {
  10. // $id = $row['id']; <-- id to nawet nie pobierasz w zapytaniu
  11. $avg = $row['srednia']; // reszta byla do wywalenia bo pobierasz tylko 'srednia'
  12. ?>
  13.  
  14. <?php
  15. echo $avg; // pobierasz tylko srednia wiec wyswietlic mozesz jak narazie tylko srednia
  16. ?>
  17.  
  18. <?php } ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.