2012-01-12 110 views
0

我需要知道如何做到以下幾點使用PHP編碼請PHP分割文本區域的內容和插入到MySQL

  1. 採取插入的文本從一個textarea
  2. 分割每行的內容
  3. 將每行插入數據庫作爲自己的行與自己的ID號

任何人都可以告訴我如何做到這一點嗎?

感謝

EDIT_ _ __ _ __ _

這是我已經試過到目前爲止

$is_first = true; 


foreach (explode('\n', $_POST['code']) as &$voucher) { 

    if ($is_first) $is_first = false; else $query .= ', '; 

    $query .= '(' . mysql_real_escape($voucher) . ')'; 
    mysql_query('INSERT INTO back_codes (`code_id`, `code`) VALUES (NULL, "$voucher")'); 
} 
+0

具體什麼問題?你試過什麼了? – Amadan 2012-01-12 11:20:44

+0

已編輯主場爲迄今爲止的嘗試 – meohmy 2012-01-12 11:23:48

回答

1
  1. 參考其使用到10,如果它已經與POST請求一起發送,這樣的:使用explode()

    $textarea_value = $_POST['my_textarea']; 
    
  2. 您可以分割字符串,這樣的:通過explode()結果

    $lines = explode("\n", $textarea_value); 
    
  3. 迭代,然後插入行一個逐個數據庫。

    foreach ($lines as $line) { 
        // $line here is a string 
        // build a query based on it and execute it 
    }; 
    
+0

謝謝你工作的一種享受! – meohmy 2012-01-12 11:33:38

+0

@meohmy:我很高興它幫助:) – Tadeck 2012-01-12 11:39:27

0

我希望你通過提交表單POST數據從文本區域發送的數據。 比方說,你textarea的看起來是這樣的:

<textarea name="data"></textarea> 

然後在PHP中,你可以使用下面的代碼:

if(isset($_POST["data"])) 
{ 
    $line_data = explode("\n", $_POST["data"]); 
    foreach($line_data as $key => $value) 
{ 
    $sql = "INSERT INTO table (col) VALUE('{$value}')"; 
mysql_query($sql); 
} 
}