如何从表中的列4获取值,其中列3匹配一个值,列4匹配一个值


How to get the value from column 4 in a table where column 3 matches a value and column 4 matches a value ?

这是一个重力表格的例子,它已经被放入数据库(Mysql)

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

表布局

 --------------------------------------------------
 /  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"的值,我检查,看看如果值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查询,我会感谢帮助,我试过谷歌不同的方法来做到这一点,但我似乎在兜圈子。

似乎你需要通过某种方式将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小提琴

演示