0

これは非常に単純な質問かもしれませんが、構文エラーを見つけるためだけにこれを試みるさまざまな方法を試しました。次のコードがあります。

 $query = "SELECT * FROM plyr where posid = '4' order by teamname";
 $result = mysql_query($query);
 while($row = mysql_fetch_assoc($result))
 {
 [
     $dd .= "<option value='{$row['name']}'>{$row['name']}, {$row['teamname']}]</option>";
 } 

 echo"<label for=\'choice4[]\'>Select Two Players:</label><br>
 <select multiple=\"multiple\" name=\"choice4[]\">
 <option value=\"$dd\">$dd</option>
 </select>";

$dd にいくつかの統計的平均を追加したいと思います。統計は整数としてデータベースに保存されるため、表示する平均を取得するには、その場で計算を行う必要があります。たとえば、PPG を追加したいのですが、pts/gm の式を追加する必要があり、その方法がわかりません。{$row['pts'/'gm']} と {$row['pts']/$row['gm']} およびその他の方法を実行しようとしましたが、正しい方法にヒットしていません. どんな助けでも大歓迎です!

4

2 に答える 2

1

計算部分について。これらの行を整数/浮動小数点数として具体的にキャストすることをお勧めします。整数には intval を、小数には floatval を使用します。

$ppg = intval($row['pts']) / floatval($row['gm']);

選択を作成するために、私は次のようにするのが好きです:

$query = "SELECT * FROM plyr where posid = '4' order by teamname";
$result = mysql_query($query);

$select = '<select name="whatever">';
while($row = mysql_fetch_assoc($result)) {
    $ppg = intval($row['pts']) / floatval($row['gm']);
    $select .= "<option value='".$row['name']."'>".$row['name'].", ".$row['teamname']."PPG: ".$ppg."</option>";
}
$select .= '</select>';
echo ($select);

しかし、それは私だけです。私は「.$var.」を好む。{$var} 構文上の構文。

更新: PPG 計算を while ループに追加し、それを選択値に追加しました。しかし、この計算は while ループのすべての行で行われることに気付きましたよね? 全体的にやりたい場合は、おそらく値を配列に追加して、ループの外で使用します。例えば

$query = "SELECT * FROM plyr where posid = '4' order by teamname";
$result = mysql_query($query);

$arr = array();

$select = '<select name="whatever">';
while($row = mysql_fetch_assoc($result)) {
    $arr[] = array(
        'pts' => intval($row['pts']),
        'gm' => floatval($row['gm'])
    );
    $select .= "<option value='".$row['name']."'>".$row['name'].", ".$row['teamname']."</option>";
}
$select .= '</select>';

//calculate average PPG
$pts = 0;
$gm = 0;
foreach($obj in $arr) {
    $pts += $obj['pts'];
    $gm += $obj['gm'];
}
$ppg = ($pts / count($arr)) / ($gm / count($arr));
echo ("average PPG: ".$ppg);
echo ($select);

PPGが何であるか、またはどのように使用したいかはよくわかりません。しかし、これらの例の1つが役立つことを願っています.

于 2013-01-04T19:02:56.573 に答える
0

関数に変数を設定してwhile、そこで計算してみませんか? 何を加算/減算/除算/などしようとしているのか正確にはわかりません。しかし、ここから始めます。あなたが何をしたいのかを教えていただければ、よりよく理解し、解決策を思いつくことができるかもしれません.

<?php

$query = "SELECT * FROM plyr where posid = '4' order by teamname";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)) {
     $dd = '<option value="'.$row['name'].'">'.$row['name'].','.$row['teamname'].'</option>';
     // math equation
     $PPG = $pts / $gm;
}

 echo '<label for="choice4[]">Select Two Players:</label><br>
 <select multiple="multiple" name="choice4[]">
 <option value="'.$dd.'">'.$dd.'</option>
 </select>';

?>
于 2013-01-04T18:57:32.140 に答える