簡體   English   中英

如何從表中第3列匹配值而第4列匹配值的表的第4列中獲取值?

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

這是來自Gravity表單的表格的示例,該表格已放入數據庫(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小提琴 演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM