Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]dzielenie wartości z bazy danych
Forum PHP.pl > Forum > Przedszkole
grzes22
Witam, mam taki oto kod
  1. $wynik = mysql_query('SELECT count(*) from kupony WHERE data_kuponu >= "'.$od.'" AND data_kuponu <= "'.$do.'"') or die('Błąd w zapytaniu');
  2. while($a=mysql_fetch_row($wynik)){
  3. echo "W wybranym okresie czasu dodałeś $a[0] kuponów<br />";
  4. }


którego wynikiem jest 2 oraz kod
  1. $wynik4 = mysql_query('SELECT count(*)
  2. FROM `kupony` where rozliczenie="Prawidlowo"') or die('Błąd w zapytaniu');
  3. while($d=mysql_fetch_row($wynik4)){
  4. echo "W wybranym okresie czasu trafiłeś $d[0] kuponów<br />";
  5. }


którego wynikiem jest 1

i tu jest moje pytanie jak podzielić te 2 wyniki między siebie bo gdy zrobię to w taki sposób
  1. $trafnosc_kuponow = $wynik4/$wynik;
  2. echo "W wybranym okresie czasu skuteczność wynosiła" .$trafnosc_kuponow. " % trafności kuponów<br />";


to wynik takiego działania wynosi 1.375 a powinien 0.5??
CapaciousCore
Uhm zastosuj sobie ENUM w bazie danych tongue.gif  bo Ci szybko urosnie. Co do dzielenia. Dodawaj sobie do zmiennej, a na koncu dziel na ilosc elementow, ktore przyszly z SELECT'a 
kefirek
Powinno działać.

  1. $wynik = mysql_query("
  2. (SELECT count(*) FROM kupony WHERE rozliczenie='Prawidlowo') /
  3. (SELECT count(*) FROM kupony WHERE data_kuponu >= '".$od."' AND data_kuponu <= '".$do."') AS trafnosc_kuponow
  4. ") or die('Błąd w zapytaniu');
  5. if(mysql_num_rows(($wynik) > 0) {
  6. while($r = mysql_fetch_assoc($wynik))
  7. {
  8. echo "W wybranym okresie czasu skuteczność wynosiła" .$r['trafnosc_kuponow']. " % trafności kuponów<br />";
  9. }
  10. }
Pawel_W
Cytat(kefirek @ 2.01.2010, 12:16:30 ) *
Powinno działać.

  1. $wynik = mysql_query("
  2. (SELECT count(*) FROM kupony WHERE rozliczenie='Prawidlowo') /
  3. (SELECT count(*) FROM kupony WHERE data_kuponu >= '".$od."' AND data_kuponu <= '".$do."') AS trafnosc_kuponow
  4. ") or die('Błąd w zapytaniu');
  5. if(mysql_num_rows(($wynik) > 0) {
  6. while($r = mysql_fetch_assoc($wynik))
  7. {
  8. echo "W wybranym okresie czasu skuteczność wynosiła" .$r['trafnosc_kuponow']. " % trafności kuponów<br />";
  9. }
  10. }

a popatrzyłeś chociaż co piszesz? gdzie masz jakieś SELECT? jak już to tak:
  1. SELECT (SELECT count(*) FROM `kupony` WHERE `rozliczenie`='Prawidlowo') /
  2. (SELECT count(*) FROM `kupony` WHERE `data_kuponu` >= '".$od."' AND `data_kuponu` <= '".$do."') AS `trafnosc_kuponow` FROM `kupony`


EDIT:
@kefirek
nie miałem zamiaru Cię urazić, ale uwierz mi, są na tym forum osoby, które wypowiadają się bez czytania postów winksmiley.jpg

mimo wszystko przepraszam
grzes22
Ok wielki dzięki wszystko działa tylko ta linijka ma błąd
[PHP] pobierz, plaintext
  1. if(mysql_num_rows($wynik) > 0) {
[PHP] pobierz, plaintext

edit:
chociaż jeszcze by się przydało gdzieś dodać pomnożenie wyniku * 100 aby był prawdziwy obraz procentowy
dobra z tym sobie już poradziłem

edit2:

a i jest jeszcze jeden problem, nie wiadomo dlaczego ale wynik wyświetla mi się 2 razy

takie mam jeszcze pytanko czy da się skorzystać i jak z tej zmiennej $r poza pętlą while??
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.