2013-09-25 72 views
0

我有以下HTML:插入到MySQL多個輸入數據是與一個jquery add_function創建

<h4>Add Steps</h4> 
<ul id="pasi"> 
<li> 
<span>Pasul 1: </span><textarea id="pas"></textarea> 
<input id="add_pas" type="button" value="Add Step" onclick="add_pas()"/> 
</li> 
<input id="" type="button" value="Add recipe" /> 

和這個jQuery功能:

function add_pas() { 
var pas = "Pasul " + i; 
var list = $('#pasi'); 
var html = "<li class='pas-"+ pas +"'><span>" + pas + "</span><textarea></textarea><img src='../images/x.png' /></li>"; 

list.each(function(){ 
    $(this).append(html); 
    }); 
    i++ 
} 

的功能增加了當按鈕一個新的步驟被點擊。

SQL:

TABLE recipe_steps (id, recipe_id,sort_oder,description) 

我的問題是我怎麼插入的步驟的自定義數字到數據庫,然後如何找回它。第一個想法是將所有的步驟插入到一個向量中(步驟[]),但我真的不知道從哪裏開始。 請考慮到我是php,mysql,jquery中的begginer。 謝謝,我希望我儘可能清楚。

+0

如果你給每個textarea的當頁面提交您可以處理它像任何其他形式的 – 2013-09-25 20:50:16

+0

所有文字區域或不同的名稱相同的'name'每個人一個? –

+0

每個應該是不同的,一個簡單的方法將是''那麼你有一個很好的一個陣列以用 – 2013-09-25 21:00:55

回答

0

我想出了這一點,工作

function trimite(){ 
var pasi = {}; //initializing an array 
var k=0; 
$(".nimic").each(function() { //class of the <textarea> 
    pasi[k]=$(this).val(); //takes the value for each of the textareas created 
    k++; 
}); 


$.ajax({ // sends all the textarea created to the php processing script 
    type:'POST', 
    url:"functions/add_recipe.php", 
    dataType:"json", 
    data:{ 
     'pasi':pasi 
    }, 
    success: function(data){ 

    }, 
    error: function(){ 
     alert('error'); 
    } 
}); 

return false; 
} 
0

我不明白你是如何從js轉換到SQL插入(但我可能只是錯過了一些東西!),但IMO應該使用jQuery $ .post函數來調用一個單獨的.php文件來做插入

$("#FORM_SUBMIT_ID").click(function() { 
    $("#ENTIRE_FORM_NAME").submit(function() {  
      $.post(
      'SQL_INSERTION.PHP', //NOTE <-- assumes .php file is in same dir as curr file 
      $(this).serialize(), //This takes your form and auto separates it 
      function(data){ 
       $("#ERRORS").html(data); //This will append error text to a div if you wish 
      } 
     ); 
      return false; 
     }); 
}); 

然後,在你的.php文件中,你將有一個數組在$ _POST與所有填寫的表單值。爲了測試如何序列化()格式表單到一個數組,你的php文件只寫

<?php print_r($_POST); ?> 

我認爲,應該夠了。然後,從那裏開始,對於自定義插入,取決於您在現場可能會有多少值,簡單的if/else if語句可能足夠好。

也就是說,如果($ _ POST [「名」]){//代碼}

或者,你可以通過與串行數據轉換爲.php沿着一種「類型」,而將進入$ _POST數組。

+0

工作我忘了提我將發送值槽AJAX成一個PHP處理腳本。我在這個明天看看它是如何工作的。 THX –

+0

我不知道爲什麼,但該代碼僅從形式發送2個輸入。無論如何,我想出了另一種解決方案。 –