2015-12-22 195 views
2

这是一个动态添加文本字段的代码。当我们点击一​​个链接时,它会自动添加文本字段,并将数据传递给数据库。但是现在,我需要点击链接后的两个文本字段并将值传递给数据库。我可以实现它吗? 的代码如下所示使用foreach循环传递两个变量

的index.php

<?php 
    require("dbconn.php"); 
    ?> 

    <html> 
    <head> 
    <title></title> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript"> 
    var counter = 0; 
    $(function(){ 
     $('p#add_field').click(function(){ 
      counter += 1; 
      $('#container').append(
        '<strong>Hobby No. ' + counter + '</strong><br />' 
        + '<input id="field_' + counter + '" name="dynfields[]' + '" type="text" /><br />' 
        +'<input id="field_' + counter + '" name="name[]' + '" type="text" /><br />'); 

     }); 
    }); 
    </script> 

    <body> 

    <?php 
    if (isset($_POST['submit_val'])) { 
    if ($_POST['dynfields']) { 
    foreach ($_POST['dynfields'] as $key=>$value) { 
    $values = mysql_real_escape_string($value); 
    $query = mysql_query("INSERT INTO my_hobbies (hobbies) VALUES ('$values')", $connection); 

    } 
    } 

     echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>"; 

     mysql_close(); 
    } 
    ?> 
    <?php if (!isset($_POST['submit_val'])) { ?> 
     <h1>Add your Hobbies</h1> 
     <form method="post" action=""> 


      <div id="container"> 
       <p id="add_field"><a href="#"><span>Click To Add Hobbies</span></a></p> 
      </div> 

      <input type="submit" name="submit_val" value="Submit" /> 
     </form> 
    <?php } ?> 

    </body> 
    </html> 

在这里,在index.php页面中点击添加文本字段会给动态文本fields.I要添加两个或更多的文本字段,并希望通过数据库的值

+0

什么是你面对你.............尝试添加名称字段也是问题,但你不使用它。 –

+0

但我怎么能传递值使用foreach循环的数据库 – Lekshmy

回答

0

可能是您的mysql连接字符串不正确(如果您将$values作为空白测试替代方法,则删除mysql_real_escape_stringecho "INSERT INTO my_hobbies (hobbies) VALUES ('$value')"并查看这是否为所需的SQL字符串)。

注意:开始使用mysqli或pdo,因为mysql已被弃用。

你可以尝试这样的:

<?php 

     if (isset($_POST['submit_val'])) { 
     $mysqli = new mysqli('localhost','root','root','hobby');//make sure your connection is made 
     if (mysqli_connect_errno()) { 
      echo "Problem in connection"; 
      exit(); 
     } 
     if ($_POST['dynfields']) { 
     foreach ($_POST['dynfields'] as $key=>$value) { 
     $values = $mysqli->real_escape_string($value); 
     // echo $values; 
     $sql= "INSERT INTO my_hobbies (hobbies) VALUES ('$values')"; 
     //echo $sql; 
     $mysqli->query($sql); 
     if($mysqli->errno > 0){ 
      echo "PROBLEM WHILE SAVING"; 
      exit; 
     } 
     } 
     } 

      echo "<i><h2><strong>" . count($_POST['dynfields']) . "</strong> Hobbies Added</h2></i>"; 

      mysql_close(); 
     } 
     ?>