3

これは私のクエリです:

 <cfquery name="qry" datasource="#variables.staffDs#">
  SELECT
    firstname + ' ' + surname name, userid, mobileno, extension
  FROM
    currentstaff
  WHERE
    (mobileno IS NOT NULL OR
     Left(LTrim(extension), 2) = '07')
 </cfquery>

これは私の ColdFusion ドロップダウン ボックスです。

  <select name="to" id="to">
  <option value=""> -- Select -- </option>
  <option style="font-weight: bold" value="">Send to All</option>
  <cfoutput query="people">
    <option value="#qry.userid#">#qry.name#</option>
  </cfoutput>
  </select>

すべての人の名前がドロップダウン ボックス リストに表示されます。

私がやりたいことは、ドロップダウン ボックスの上部にあるオプションを [すべてに送信] に追加して、すべてのユーザーを選択することですが、これを行う方法がわかりません。

必要に応じて、必要な追加の SQL を現在のクエリに組み込みたいと考えています。

4

4 に答える 4

3

可能であれば、このように変更する必要があります。追加するだけです

Select 'Select All'
 union

あなたのクエリに、最終的なコードのような

 Select 'Select All','','',''
 union
 SELECT
    firstname + ' ' + surname name, userid, mobileno, extension
  FROM
    currentstaff
  WHERE
    (mobileno IS NOT NULL OR
     Left(LTrim(extension), 2) = '07')
于 2012-10-25T10:47:00.173 に答える
1

クエリにオプションを追加せず、余分なオプション行を HTML に追加し、SELECT ALLが選択されたらクエリを更新してフィルタリングしないようにします。

<select name="to" id="to">
  <option value=""> -- Select -- </option>
  <option value="ALL">SELECT ALL</option>
  <option style="font-weight: bold" value="">Send to All</option>
  <cfoutput query="people">
    <option value="#qry.userid#">#qry.name#</option>
  </cfoutput>
</select>
于 2012-10-25T11:45:16.153 に答える
1
 Select 'Select All', '','',''
 union
 SELECT
    firstname + ' ' + surname name, userid, mobileno, extension
  FROM
    currentstaff
  WHERE
    (mobileno IS NOT NULL OR
     Left(LTrim(extension), 2) = '07')
于 2012-10-25T10:51:39.947 に答える
1

あなたの例が示すように、HTML ではなく SQL でこれを行う理由はありますか? 私は、「すべて選択」または「選択してください」がクエリに統合されているシステムに取り組んできましたが、そのクエリを他の目的に再利用できないという欠点があります。 HTML ドロップダウン。私の考えでは、人々のリストを取得することは 1 つの懸念事項であり、それらの人々と「すべて選択」オプションを使用して UI を構築することは別の懸念事項です。

于 2012-10-25T11:03:33.067 に答える