2012-04-05 105 views
0

我的網站上有一個表格,用戶在註冊時填寫表格。所有註冊都存儲在「註冊」表中。表結構如下所示:
ID,用戶名,密碼,名字,姓氏,電子郵件,性別,職位,f1,國家,f2,fbook,f3,fmovie,f4。從表格提交時從其他表格檢索數據

JOBTITLE國家fbookfmovie的下拉菜單。這些dropdwon菜單的值也存儲在另一個名爲「extrainfo」的表中,其結構如下: jobtitle,f1,country,f2,fbook,f3,fmovie,f4。

當用戶提交表單時,應檢查jobtitle,country,fbook和fmovie字段中的值,並從「extrainfo」表中檢索值。

因此,如果用戶在jobtitle下拉菜單中選擇「DECORATOR」,它應該從「extrainfo」表中的f1列中獲取值,並將其插入「registration」表中的f1列中。

我該如何做到這一點?

+1

你嘗試過什麼? – nithi 2012-04-05 07:18:21

回答

0

通過選擇數據匹配的行,通過讀取提交的值並使用SQL查詢將其與數據庫中的數據進行比較,從而實現該目標。

+0

你能舉個例子嗎?在此先感謝 – Dreni 2012-04-05 07:19:08

+0

例如什麼?如何運行選擇查詢?當然,它在手冊中:[SELECT Syntax(MySQL)](http://dev.mysql.com/doc/refman/5.5/en/select.html) – hakre 2012-04-05 07:25:19

0

表單提交後嘗試這樣

由$ _ POST

$jobtitle = $_POST['jobtitle']; //name of select box is assumed as jobtitle 

獲取選擇框的值從extrainfo

$r = mysql_query("select f1 from extrainfo where jobtitle='$jobtitle'); //get f1 from extrainfo 
$j = mysql_fetch_row($r); 

插入登記表這樣對所有獲取的值色譜柱

mysql_query("insert into registration(f1)values('$j[0]')"); //insert the f1 into registration table 
0

你可以只建立下拉菜單的價值觀已經在他們,而不是事後找一找:

<SELECT name="jobtitle"> 
    <OPTION value="f1_value">Decorator</OPTION> 
    <OPTION value="f1_value">Welder</OPTION> 
</SELECT> 

其中f1_valueextrainfo表中的每個JOBTITLE值。你也可以使用一個foreach結構來構建<OPTION>...</OPTIONS>如果你在閱讀信息的數組第一:

<?php 
$q="select * from extrainfo"; 
if ($r=mysql_query($q)) 
{ 
    $m=array(); 
    while ($row=mysql_fetch_assoc($m)) 
    { 
    $m[]=$row; 
    } 
?> 
<SELECT name="jobtitle"> 
<?php 
    foreach ($m as $line) 
    { 
    echo '<OPTION value="'.$line['f1'].'">'.$line['jobtitle'].'</OPTION>'; 
    } 
?> 
</SELECT>