0

そこで、このテーブルに 100 000 より大きい数値を含む行 (ここでは $numbers と呼びます) を入力しました。たとえば、581 249 です。

MySql クエリを使用して、これらの値を (PHP を使用して) 画面に表示したいと考えています。返された値を 1000 で割りたいだけです...

アイデアは次のとおりです。

$numbers の長さの水平バーを作成しました。しかし、このバーの幅はピクセル単位の $numbers の値です...基本的に、(たとえば) 581 249 ピクセルのバーを作成します:') ...

これは明らかにゴールではありません。したがって、この値を 1k で割ることにしました。このようにして、バーが画面によりよくフィットします。

これを MySql クエリに実装するにはどうすればよいですか?

クエリのエコー コードは次のとおりです。

if(isset($_POST['submit'])){
$jaar = $_POST['year'];
echo "<CENTER><h1>".$_POST['year']."</h1></CENTER>";
$result2 = mysql_query("SELECT week, SUM(numbers), SUM(orders) FROM productie WHERE year =" . $year . " GROUP BY week"); 
while($row=mysql_fetch_array($result2) or die(mysql_error())){
    echo "<div class='BarTable'>
<table>
    <tr>
        <td><div class='BarLabel''>".$row['week']."</div></td>
        <td class='BarFull'>
            <img src='images/bargraph/month_bar.png' height='12' alt='320' width=".$row['SUM(numbers)']." />
            <p>".$row['SUM(numbers)']."</p>
        </td>
    </tr>
</table>

この while ループはデータベースを通過し、データベースで見つかった新しい週ごとに新しいバーを作成します。このようにして、私の結果は、すべての週 (対応する $numbers を含む) が互いに下にある素敵な横棒グラフになります。

私がまだ直面している唯一の問題は (前に述べたように)、バーが広すぎることです。ここで、サイズを小さくしたいのですが、入力した値はそのままにします (バーの後ろに $numbers の値が表示されるため)。

この値を 1000 で割る方法は?

4

1 に答える 1

2

新しいプロジェクトにはPDOまたはmysqliを使用する必要があることは言うまでもありませんが、探しているのは次のとおりだと思います。

SELECT week, ROUND(SUM(numbers)/1000) as thousandths, SUM(orders) ...

そして、配列でアクセスします$row['thousandths']

于 2013-02-06T21:12:53.353 に答える