2017-07-12 13 views
1

リストボックスから値を選択した後、リストボックスに ':'を連結してPOSTメソッドに渡して挿入できるようにしたいリスト項目をデータベーステーブルに追加します。jQueryからPOSTメソッドへリスト変数を渡す方法PHP

しかし、これを達成する方法がわからないので、私は本当にありがとうと思います。

<!doctype html> 
<html lang="en"> 

<head> 

    <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
</head> 

<body> 

    <select class="sweet" name="sweets" multiple="multiple"> 
     <option>Chocolate</option> 
     <option>Candy</option> 
     <option>Taffy</option> 
     <option>Caramel</option> 
     <option>Fudge</option> 
     <option>Cookie</option> 
    </select> 
    <input type="submit" name="submit" value="submit" /> 
    <script> 
     $(function() { 
      var s_type = ""; 
      $('.sweet').click(function() { 
       var selected = $(this).val(); 
       if (s_type.length) { 
        s_type += " : " + $(this).val(); 
       } else { 
        s_type += $(this).val(); 
       } 
       $.post('new_page.php', 'sweet=' + s_type, function(response) { 
        alert(response); 
       }); 

      }); 
     }); 
    </script> 
</body> 

</html> 

PHPのスクリプト

<?php 
    $value = $_POST['sweet']; 
    echo "I got your value! " .$value; 
    if(isset($_POST['submit'])) 
    { 
     $db = new PDO("sqlite:c:/sqlite/test.db"); 
     $q1 = $db->prepare('INSERT INTO test_sweet(sweets) values(?)'); 
     $q1->execute(array($value)); 
     echo '*****profile_coll' .$value; 
    } 
?> 

答えて

0

そのが最初に私のコードでも、私がすることができ、この変更で、tablleにレコードを挿入していなかったものの、動作していない、残念ながら、この

$(function() 
     { 
      var s_type=""; 
      $('.sweet').click(function() 
       { 
        s_type = $(this).val() ? $(this).val().join(":") : ""; 
        $.post('new_page.php', 'sweet=' +s_type, function (response) 
        { 
         alert(response); 
        }); 
       }); 

     }); 
+0

のように試してみてくださいヌル値がテーブルに挿入されていることを確認してください。 – N1209

関連する問題