0

次のコードがあります-データベースに送信される一連のクエリを生成します。

$a = 'q';
$aa = 1;
$r = "$a$aa";
$q = 54;

while($aa <= $q){
$query  .= "SELECT COUNT(". $r .") as Responses FROM tresults;";
$aa = $aa + 1;
$r = "$a$aa";
}

私が抱えている問題は単純です。データベース内では、番号は連続していません。

q1からに移動するフィールドがありますq13q14aq14bq14c、 、q14dおよびq14eからq15に移動しq54ます。

continueを見てきましたが、それは反復をスキップするためのものであり、役に立ちませんでした。

この不連続な状況を処理するために上記のコードを適応させるのに苦労しています。どんなアイデアや提案も歓迎します。

4

2 に答える 2

2

q1からに移動するフィールドがありますq13q14aq14bq14c、 、q14dおよびq14eからq15に移動しq54ます。

for($i=1; $i<=54; ++$i) {
  if($i != 14) {
    echo 'q' . $i . "<br>";
  }
  else {
    for($j='a'; $j<='e'; ++$j) {
      echo 'q14' . $j . "<br>";
    }
  }
}

番号付け順にステートメントを実行する必要がない場合は、カウンターが 14 の場合は最初のループで 1 つをスキップしてから、2 番目のループ (最初のループにネストされていない) を使用することもできます。その後q14s。

于 2015-01-19T23:31:16.513 に答える