2017-01-31 28 views
0

私のコンテナにいくつかの入力フィールドを追加し、私のmysqlデータベースのエントリごとに追加したい。これは、これまでのところうまく機能している:追加された入力フィールドデータをmySQLデータベースに挿入するにはどうすればよいですか?

<?php 
if (isset($_POST['submit_val'])) { 
    if ($_POST['name']) { 
     foreach ($_POST['name'] as $key=>$value) { 
      $pdo = $db->prepare('INSERT INTO friends (name) values(:name) '); 
       $pdo->execute(array(
       ':name' => $value, 
      )); 
     } 
    } 
    echo "<i><h2><strong>" . count($_POST['name']) . "</strong> items added</h2></i>"; 
} 
?> 
<?php if (!isset($_POST['submit_val'])) { ?> 
    <form method="post" action=""> 
     <div id="container"> 
       <p id="add_field"><a href="#"><span>Click To Add</span></a></p> 
     </div> 
     <input type="submit" name="submit_val" value="Submit" /> 
     </form> 
<?php } ?> 



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

しかし、私はまた、フィールドだけでなくnameagegenderとして持つことを望む:

$('#container').append('<strong>No. ' + counter + '</strong><br />' + '<input id="field_' + counter + '" name="name[]' + '" type="text" /><input id="field_' + counter + '" name="age[]' + '" type="text" /><input id="field_' + counter + '" name="gender[]' + '" type="text" /><br/>'); 

およびそれらをデータベースに追加します。

$pdo = $db->prepare('INSERT INTO friends (name,age,gender) values(:name,:age,:gender) '); 
    $pdo->execute(array(
     ':name' => $value, 
     ':age' => $value, 
     ':gender' => $value, 
    )); 

しかし、今私は理解の論理的な問題があります。 foreachループに他の値を取得するにはどうすればいいですか?foreach ($_POST['name'] as $key=>$value) {すべての値に1つのループが必要なので、どうすればいいですか?

私はこのようなものを想像することができます:すべての3つのフィールドの発生を想定し

foreach ($_POST['name'] as $key=>$name && $_POST['age'] as $key=>$age && $_POST['gender'] as $key=>$gender) {

答えて

1

は、使用できるのと同じです。

foreach($_POST['name'] as $key=>$val){ 
    echo $val." ".$_POST['age'][$key]." ".$_POST['gender'][$key]."<br>";// you can use these value in your insert 

} 
+0

はい、それがうまく機能しています! – Jarla

関連する問題