0

我有以下html:

<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)

我的问题是如何将自定义步数插入数据库,然后如何检索它。第一个想法是将所有步骤插入向量(steps[]),但我真的不知道从哪里开始。请考虑到我是 php、mysql、jquery 的初学者。谢谢你,我希望我尽可能清楚。

4

2 回答 2

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;
 }
于 2013-09-27T00:53:57.707 回答
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 中有一个数组,其中包含已填写的所有表单值。要测试 serialize() 如何将您的表单格式化为数组,请在您的 php 文件中写入

<?php print_r($_POST); ?>

我相信这应该足够了。然后从那里开始,对于自定义插入,取决于您有多少值可以在存在时发生变化,简单的 if/else if 语句可能就足够了。

即 if ($_POST['name']){ //code}

或者,您可以将表单“类型”与序列化数据一起传递给 .php,然后将其放入 $_POST 数组。

于 2013-09-25T21:18:52.320 回答