-1

この方法で1つのパラメータ(X)を計算しています:

<?php
$link=mysql_connect("localhost","root","");
mysql_select_db("hand");

$result = mysql_query("select * from sessions",$link);
$num_calls = mysql_num_rows($result);

echo '<br/>'."\n Total X :\n $num_calls ".'<br/>';
?>

この方法で別のパラメータ(Y)を計算しています:

<?php
mysql_connect("localhost","root","");
mysql_select_db("hand");

$result = mysql_query("SELECT * FROM cars WHERE start_at > TIMESTAMPADD(WEEK, -4, CURDATE())  AND TIMESTAMPDIFF(MINUTE, start_at, end_at) > 5");

$num_rows = mysql_num_rows($result);

echo '<br/>'."\n Total Y :\n $num_rows ".'<br/>';
?>

別の場所では、比率 X/Y を計算する必要があります。同じhtmlページの別のフィールドで行う必要があるため、どうすればよいですか。

4

5 に答える 5

3

あなたがやる:

$num_calls = intval($num_calls); // Make sure these are integers
$num_rows = intval($num_rows);

$calculation = $num_calls / $num_rows;
echo $calculation;
于 2012-06-25T20:51:01.587 に答える
1

わかりました、私は理解していると思います

X:Y が必要です。ここで、X は Y に対する比率です。

$link=mysql_connect("localhost","root","");
mysql_select_db("hand");

$result = mysql_query("select * from sessions",$link);
$num_calls_x = mysql_num_rows($result);

$result = mysql_query("SELECT * FROM cars WHERE start_at > TIMESTAMPADD(WEEK, -4, CURDATE())  AND TIMESTAMPDIFF(MINUTE, start_at, end_at) > 5");
$num_calls_y = mysql_num_rows($result);

echo '<br/>'."\n Total X :\n $num_calls_x ".'<br/>';
echo '<br/>'."\n Total Y :\n $num_calls_y ".'<br/>';
echo 'Ratio: '.round(($num_calls_x/ $num_calls_y) * 100, 0);
于 2012-06-25T20:54:49.783 に答える
1

うーん、まず、カウントを取得するのに非常にコストのかかる方法です。

Select Count(*) from Sessions

Select Count(*) from Cars...

だから何か

Select Cast(Select Count(*) From Sessions) as FLOAT) / (Select Count(*) From Cars...)

あなたを近づけるはずです。

その後、わざわざそれを永続化する必要はありませんが、それを主張する場合は、すべての通常のメカニズムが適用されます。

于 2012-06-25T20:57:10.337 に答える
1

次のようにクエリ文字列を配列に入れることができます:
$queryArray = array("select * from sessions", "SELECT * FROM cars WHERE start_at > TIMESTAMPADD(WEEK, -4, CURDATE()) AND TIMESTAMPDIFF(MINUTE, start_at, end_at) > 5");
foreach を 1 回だけ使用します:
foreach($query in $queryArray) { $result = mysql_query($query); $count = mysql_count($result); $countList[] = $count }
$number = 0;
そして今度は別の foreach で count から項目の比率を作成する必要があります
foreach($number in $countList) {<br/> $number = $number + $number; }<br/> $ratio = $number / count($countList);

このように、将来のすべてのクエリを文字列として追加でき、すべてが引き続き機能します。

PS 現時点ではコードをテストできませんが、かなり機能するはずです。foreach asについてはよくわかりません。

于 2012-06-25T21:01:43.613 に答える
-1

この値をセッション/クッキーに入れて、別の場所で読み取ることができます。

于 2012-06-25T20:52:01.767 に答える