coldfusion - 如何将用户输入与 2 个不同的表进行比较

标签 coldfusion

我有一个包含名字、姓氏和出生日期值的表单。我有两个表:TableA 和 TableB。每个表可能包含在表单中输入的人名的信息。我想做的是,在 ColdFusion 中,编写一个查询,在其中获取用户输入并比较哪个表包含信息。找到包含用户信息的表后,显示与该表相关的特定列。

下面是表格:

<Form name="ERHospital" Method="Post" class="a">

  <div align="center" style="margin-top:10pt; margin-bottom:10pt">

    <table Border="0" width="100%" align="center" cellpadding=0 cellspacing=0 >
        <tr>
            <td class="m" id="fName">First Name&nbsp;</td>
            <td>
                <input class="a" id="FirstName" name="FirstName" value="<cfoutput></cfoutput>" size="15"> 
            </td>
            <td class="m" id="lName">Last Name&nbsp;</td>
            <td>
                <input class="a" id="LastName" name="LastName" value="<cfoutput></cfoutput>" size="15"> 
            </td>

            <td class="m" id="DOB">
                DOB<br />
                <font color="##CC0000" size="1" style="italic">(mm/dd/yyyy)</font>
            </td>
            <td>
                <input type="text" id="BirthDt" name ="BirthDt" id="BirthDt" maxlength="10" size="10">
            </td>
        </tr>
        <tr>
            <!---<td class="m" id="Hospital">Hospital</td>
            <td>
                <select name="hosp" id="hosp"></select>
            </td>--->
            <!---<td class="m" colspan="2"></td>
            <td class="m">
                <input type="button" value="Submit" onClick="SubmitMe(); checkFields();" name="SubmitEmpBtn" style="font-size:12px; font-family:Arial, Helvetica, sans-serif; font-weight:bold">
            </td>
            <td align="left">
                <input type="button" name="Clear"  value="Clear" onClick="ClearForm()" style="font-size:12px; font-family:Arial, Helvetica, sans-serif; font-weight:bold"> 
            </td>  
        </tr>--->
    </table>
    <div style="text-align:center; margin-top:15pt"><input type="button" value="Submit" onClick="SubmitMe(); checkFields();" name="SubmitEmpBtn" style="font-size:12px; font-family:Arial, Helvetica, sans-serif; font-weight:bold"> <input type="button" name="Clear"  value="Clear" onClick="ClearForm()" style="font-size:12px; font-family:Arial, Helvetica, sans-serif; font-weight:bold"> </div>
   <!---<table align="center">
                <TR>
                  <TD align="center"><input type="button" value=" Submit " onClick="SubmitMe()" name="SubmitEmpBtn" style="font-size:14px; font-family:Arial, Helvetica, sans-serif"> <input type="button" name="Clear"  value=" Clear " onClick="ClearForm()" style="font-size:14px; font-family:Arial, Helvetica, sans-serif"> </td>   
                </tr>
            </table>

  </table>--->

   </div>
</FORM>

最佳答案

如果保证用户只在一张表中,那么你可以使用 UNION ALL像下面这样:

<cfquery name="myquery" datasourse="#myDSN#">
    SELECT <userField1>, <userField2>
    FROM Table1
    WHERE 
        FirstName = <cfqueryparam value="#form.firstname#" cfsqltype="cf_sql_varchar">
        AND
        LastName = <cfqueryparam value="#form.lastname#" cfsqltype="cf_sql_varchar">

    UNION ALL

    SELECT <userField1>,<userField2>
    FROM Table2
    WHERE 
        FirstName = <cfqueryparam value="#form.firstname#" cfsqltype="cf_sql_varchar">
        AND
        LastName = <cfqueryparam value="#form.lastname#" cfsqltype="cf_sql_varchar">
</cfquery>

如果用户只在一张表中,您将只会获得您请求的用户的结果。

编辑:我还要补充一点,我不喜欢在 sql 查询中使用表单、url 或任何其他外部变量,而不确保它们已被清理。但那是完全不同类型的讨论。 :-)

关于coldfusion - 如何将用户输入与 2 个不同的表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52284078/

相关文章:

coldfusion - 如何使用 ColdBox 中选择 HTML 帮助器中的结构填充选择列表?

coldfusion - 计划任务,CF 10 错误

paypal 取消 url 有虚假的 :80

coldfusion - 将 Coldfusion10 字典添加到 CFEclipse 插件

database - 如何在集群环境中管理 cfc 的状态

Lucee 服务器上的 API 响应文件内容为空

ColdFusion CFFILE 限制文本文件上传

mysql - cftransaction 不回滚错误时创建表

coldfusion - ColdFusion 计划任务是否有默认超时?

coldfusion - Zingchart 通过冷融合获取图像数据