2011-04-16 67 views
1

我有一個PHP生成的表單:同時MySQL的提交多行

<form action='step2.php' method="post" name='frm<? echo $socialid; ?>' id="frm_step2"> 
     <? 
     $result = mysql_query("SELECT * FROM socials WHERE network not in (SELECT network FROM networks WHERE user='$_SESSION[user_id]') "); 

while($socialrow = mysql_fetch_assoc($result)){ 

    $socialid=$socialrow['id']; 
    $socialnet=$socialrow['network']; 
    ?> 
    <a href="#" class="edit_<? echo $socialnet;?>"><img src="smallicons/<? echo $socialnet;?>.png" width="30" alt="<? echo $socialnet;?>" /></a> 
    <div class="table_<? echo $socialnet;?>">the full url to your <? echo $socialnet;?> profile:<br /> 
    <input type='hidden' value='<? echo $socialnet;?>' name='network'/> 
    <input type='text' name='urltonet'/> <br/> 
    </div> 

<? 
} 
    ?> 
    <br /> <input type='submit' value='enter' /> 
    </form> 

basicly在數據庫中它創建在用戶需要在自己的網址,以填補他們的個人資料 這樣一種形式的每個社交網絡如果用戶仍然需要填寫2個網址,它將顯示兩種形式,每種形式一個,每種都有一個提交按鈕

因此,如果用戶填寫了兩個文本框,則需要將這些值插入相同的數據庫中

任何想法或幫助請問如何插入這些值? 我下面的數據庫:

CREATE TABLE IF NOT EXISTS `networks` (
`user` int(30) NOT NULL, 
`network` varchar(30) NOT NULL, 
`username` varchar(30) NOT NULL default 'not known', 
`url` varchar(300) NOT NULL, 
`user_name` varchar(30) NOT NULL, 
`netid` int(11) NOT NULL auto_increment, 
PRIMARY KEY (`netid`), 
UNIQUE KEY `netid` (`netid`), 
UNIQUE KEY `netid_2` (`netid`), 
UNIQUE KEY `netid_3` (`netid`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=239 ; 
+1

爲什麼netid是primary..is這個網絡表主鍵 – Gowri 2011-04-16 13:28:45

+0

@gowri是的,這需要是唯一的,因爲我不希望人們添加2相同的網絡。我不確定這是否真的需要作爲主要的,但到目前爲止,這段代碼工作完美 – Deejayhush 2011-04-16 13:44:05

回答

0

至於語法去這是你可以利用這一點,不知何故,我有感覺,是不是你wnat知道

insert into networks (user,network,url) values (1,'network1','username1'), (1,'network2','title2') 
+0

這段代碼是我想要的,但我想,但按下提交按鈕後,它將如何將值發佈到您的示例?我的大腦麻木了,我甚至不能解釋我需要大聲笑 – Deejayhush 2011-04-16 13:36:40

0

SQL Server和Oracle是使用union all

INSERT INTO MyTable (FirstCol, SecondCol) 
SELECT 'First' ,1 
UNION ALL 
SELECT 'Second' ,2 
UNION ALL 
SELECT 'Third' ,3 
UNION ALL 
SELECT 'Fourth' ,4 
UNION ALL 
SELECT 'Fifth' ,5 

我想這也將在MySQL

0123工作
+0

我只是想出了表單不會將值發送到步驟2,我需要打開和關閉mysql查詢中的formtag是否有另一種方法做到這一點?例如,讓PHP使用一個按鈕爲整個表單創建表單? – Deejayhush 2011-04-16 16:47:08