0

複数のフィールドを同じテーブルに追加しようとしています。echo $url を実行すると、url の値が表示されますが、すべての url のデータが保存されているわけではなく、最初の url のみです。

たとえば、会社の Web サイトは複数の URL を持つことができます。

foreach ($_POST['url'] as $url) {
   //$url = $_POST['url'];
    echo $url;
    $sql_insert_url="insert into url_table(url, company_name) 
          values ('$url', '$comp_name')";
}

私のhtml:

<div id="allurl">
        <div id="newurl">
            <label for="companyurl" >Company URL #1</label>
            <input type="text" name="url[]" id="url" maxlength="300" />
            <input type='button' value='Add' id='addurl' />
            </p>
        </div>

JavaScript:

  $(document).ready(function(){
    var counter=2;
    $("#addurl").click(function(){


        var n= $(document.createElement('div')).attr("id", 'newurl' + counter);

        n.after().html('<p><label>Company URL #' + counter + ' </label>' + '<input type="text" name="url[]" value="url' + counter + '" id="url' + counter + '" value="" />' + '<input type="button" name="remove'  +'" id="removeurl' +  '" value="Remove" /></p>');
        n.appendTo("#allurl");
        counter++;

    });

これに関する任意の助けをいただければ幸いです。また、php のバグやメモリ リークなどをすばやく見つけるのに役立つ、優れた php エディターを提案してください。

4

2 に答える 2

0

ここで答えを見つけました: Inserting multiple array values in mySQL database

so all i needed to do is 
    $sql = "insert into win_url(url, company) values";
        foreach ($_POST['url'] as $url) {
         $sql .=  "('".$url."','" . $comp_name. "'),";

           }

     $sql = substr($sql, 0, -1); // remove trailing comma
      mysql_query($sql);

that's it.. magic... it works. thanks to me. i'm the best.
于 2013-06-26T06:18:33.613 に答える