0

クエリを実行する .php ファイルがあります。このクエリは、結果に応じてテキストフィールドを追加します。次に例を示します。

$query = mysqli_query($mysqli, "SELECT YEAR,PERIOD FROM users");
$num_users = mysqli_num_rows($query);

for($i=1; $i<=$num_users; $i++) {
   $row = mysqli_fetch_array($query);

   echo "<input type='text' id='year$i' name='year$i' value='".$row['YEAR']."'>";
   echo "<input type='text' id='period$i' name='period$i' value='".$row['PERIOD ']."'>";
}
echo "<input type='text' id='count' name='count' value='$num_users'>"

したがって、これは x 数の入力を出力するため、年と期間を含む 1 から 40 の入力になる可能性があります。次に、このフィールドの値を次のようにキャッチします。

count = parseInt(document.getElementById('count').value);
for(i=1;i<=count;i++) {
    var custom = "year" + i;
    window[custom] = parseFloat(document.getElementById('year' + i).value);
    var custom = "period" + i;
    window[custom] = parseFloat(document.getElementById('period' + i).value);
 }

この時点まで、すべてがうまく機能します。上記のコードをテストしたところ、すべての入力値が正しい変数に保存されています。

データの数が変わることを念頭に置いて、論文の年齢を表示するシリーズを作成するにはどうすればよいですか?

私は次のようなことを考えていました:

series: [
  for(i=1;i<=count;i++) {
     {
        name: year + i,
        data: [period + i]
     }
  }
]

私を助けてください!!ありがとう!!

4

3 に答える 3

1

series配列でなければなりません。その配列にデータを入力する関数を使用する場合は、次のような自己実行関数を作成できます (更新された demo、テキストエリアに出力されます)。

series: (function(year, period, count) {
  var data = [];
  for(i=1;i<=count;i++) {
    data.push(
      {
        name: year + i,
        data: [period + i]
      }
    );
  }
  return data;
})(year, period, count)

yearこれは、外部値があることを前提としていますperiodcount

于 2013-05-02T20:23:27.063 に答える
0

すべてに感謝しますが、より簡単な解決策を見つけました:

var year = new Array();

for(i=1;i<=count;i++) {
  var custom = "year" + i;
  window[custom] = parseFloat(document.getElementById('year' + i).value);
  year.push(document.getElementById('year' + i).value);
}
// Highcharts
series: [{
   name: 'Pacientes',
   data: year
}
于 2013-05-03T19:32:45.207 に答える