나는 선수가 맹세하는 빈도의 통계를 유지하기 위해 노력하고있어 (말한다 "나쁜 단어를"- 우리가 러시아어에 그들 중 많은합니까) 다음 PostgreSQL의 테이블 :PHP의 정수 부분은 0을 생성합니다 - 어떻게 형변환 할 것인가? <a href="http://preferans.de" rel="nofollow noreferrer">a Russian card game</a>에서
# select * from pref_chat order by swear desc;
id | swear | lines
-------------------------+-------+-------
OK194281930260 | 3 | 153
OK350321778615 | 2 | 127
DE12770 | 2 | 339
OK122898831181 | 2 | 63
OK349829847011 | 2 | 126
OK215240745969 | 1 | 66
OK459742722980 | 1 | 96
을 그리고 나는이 데이터의 정수를 생성해야 - 1과 100 사이 (범람하는 것은 괜찮습니다) - 나는 다음과 같은 " swear'o'meter 만들 수 있도록 : 그래서
을 난 노력 (PHP 5.3 CentOS 6.2) :
$sth = $db->prepare('select swear, lines from pref_chat where id=?');
$sth->execute(array($id));
if ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
$quotient = 100 * floor(20 * $row['swear']/(1 + $row['lines']));
print('<p><img src="https://chart.googleapis.com/chart?chs=700x100&cht=gom&chco=00FF00,FFFF00,FF0000&chxt=x&chxl=0:|Swearometer&chd=t:' . $quotient . '" width=700 height=100 alt="Swearometer"></p>)';
}
불행히도 저는 PHP가 "정수 구분"을하고 있기 때문에 불행히도 제로가됩니다.
나는()$ 행 [ '맹세'] 및 $ 행 [ '라인']에 "캐스팅"그들이 떠하는 바닥을 씁니다 시도했다 -하지만이 도움이되지 않았다.
UPDATE
:미안 해요, 난 내 원래의 질문에 오타가 있었다 ...는 $ 지수 정말 0, 나는 그것을 밖으로 인쇄 할 수 있습니다. 또한 여전히 제로 다음을 시도했지만했습니다
$quot = 100 * floor(20 * $row['swear']/(.1 + $row['lines']));
+1 스왈 로스 측정기 ... – biziclop
계산을 PHP 측에서 데이터베이스로 옮기는 것이 좋습니다. 그들은 데이터 처리를위한 매우 강력한 도구이며 이것이 완벽한 예입니다. – jmkeyes