如何从第3列匹配值的表中获取第4列的值,第4列与值匹配?

时间:2014-05-26 21:51:54

标签: php mysql

这是一个Gravity表格的表格示例,该表格已放入数据库(Mysql)

我正在做的是从提交的表单中捕获某些值,然后将这些值与之前提交的其他表单值进行比较。  我已经设法使用gform_after_submission钩子从提交的表单中获取值,它的jsut在匹配后从其他表单数据库中获取值。

表格布局

 --------------------------------------------------
 /  Lead_id / Form_id /Field_number/   value  /
 /-----------------------------------------------
 /   3     /    4    /     2       / email@email.com
 ---------------------------------------------------
 /   4     /    4    /     4      /    name mcname
 --------------------------------------------------
 /   5     /    4    /     7      /    Skype
 --------------------------------------------------
 /   6     /    3   /      2      / email2@email2.com
 -----------------------------------------------------
 /   7     /    3   /      4      /   name2 mcname2 
 -----------------------------------------------------
 /   8     /    3   /      7      /    TELEPHONE
 ----------------------------------------------------

所以我有“skype”的值我正在检查值是否在表格中 如果是,那么我想从Field_number = 2(电子邮件地址)

的值中获取数据

但我很难抓住这个值。

这是我最终的地方

$ContactMethods = "Skype";
$feildNum = 2;
$getEmailmentor = (float) $feildNum;

$SQL = "SELECT * FROM wp_rg_lead_detail WHERE field_number = '$getEmailmentor' AND           $ContactMethods = value";

 $result = mysql_query($SQL);

 while($row = mysql_fetch_array($result)) {
  // OUTPUT EMAIL
echo $row['value']."<b/>";
 } 

我们的想法是获取电子邮件,然后通过$ ContactMethods

发送电子邮件给匹配

我在MYSQL查询方面表现不佳,并且非常感谢他们的帮助,我尝试使用Google搜索不同的方法,但我似乎还是在圈子里。

1 个答案:

答案 0 :(得分:1)

您似乎需要通过某种方式在field_numbervalue之间建立关系 从您的表输入中我可以看到form_id可以使用。

如果是这样,您可以使用以下解决方案:

select c.* from contacts c
 left join contacts t on c.form_id=t.form_id
  where c.field_number=? -- $getEmailmentor
    and t.value=? -- $ContactMethods
;

使用prepare语句将占位符与有效值绑定。

MySQL小提琴 Demo