php
2017-08-17 45 views -5 likes 
-5

我有一個動態的形式是這樣的...

for($i=1;$i<=$iday;$i++)//iday define how many time this field will generate 
{ 
    echo" <label style='color:red' for='description' > Day-$i </label ><BR>"; 

    echo" <label for='description' > Itinerary </label >"; 
    echo" <input type = 'text' class='form-control' name = 'i$i' placeholder = 'Itinerary'required > </div > <div class='form-group' >"; 

    echo" <label for='price' > Discription </label >"; 
    echo" <textarea rows = '10' class='form-control' name = 'd$i' placeholder = 'Discription' ></textarea > </div > <div class='form-group' >"; 
} 
?> 

<input type="submit" class="btn btn-default" name="step2" id="button" Value="Submit"> </form> 

我怎麼能插入這些字段的數據在數據庫 該查詢像這樣

// for all data eg i2,d2 i3,d3, but in different-different rows 
$sql2 = "INSERT INTO sight VALUES('','i1','d1')"; 
+0

你嘗試過什麼嗎? –

+0

請閱讀[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic) 和[需要避免的主題](https://stackoverflow.com/help/dont-ask) 和[如何問一個好問題](http://stackoverflow.com/help/how-to-ask) 和[完美的問題](http://codeblog.jonskeet.uk/2010/08/29/編寫完美問題/) 以及如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve) 以及[參觀](http:// stackoverflow .com/tour) **我們非常樂意幫助您修復您的代碼,但我們不爲您編寫代碼** – RiggsFolly

回答

0

使用數組!非常小的例子:

for($i=1; $i<=$iday; $i++){ 
    echo "Day-$i<br />"; 
    echo '<input type="text" name="i['.$i.']" />'; 
    echo '<textarea name="d['.$i.'].'"></textarea>'; 
} 

現在,你可以通過他們循環,當你職位:

foreach($_POST['i'] as $key=>$val){ 
    $sql2 = "INSERT INTO sight VALUES('','". $_POST['i'][$key] ."','". $_POST['d'][$key] ."')"; 
} 

我也改變了引號。你應該用雙引號包裝屬性值。這實際上沒有任何規則,在實踐中可以輕鬆工作。另外,我真的建議輸入更好的名稱比id(我在我的片段中犯了一個錯誤,因爲我感到困惑哈哈)


在你的具體的例子,你也可以只通過天循環一次(就像你的輸入),但現在在你的SQL字符串使用$i。我沒有表現出如何,因爲這不是要走的路。

+0

非常感謝它的工作 –

-1

使用值作爲數組或首先檢查輸入的數據print_r($_POST);和此檢查代碼後。

+2

我沒有downvote,但我可以解釋:這不是一個答案,這是對這個問題的評論。雖然這可能有助於OP,但它不是一個完整的解決方案:) – Martijn

相關問題