0

データベースに複数の入力値を挿入しようとしましたが、テーブルを 1 つしか挿入できませんでした。確認して助けてください。ありがとう

<form action="insert.php" method="post" id="database" name="database" >
<?php
foreach($_POST['url_link'] as $value)
{
    echo '<input type="text" name="url_db[]" size="150" value="'.$value.'"/><br />';
}
?>
<br><hr>Categories:<select name="cat" id="cat">
<option value="Mobile">Mobile
<option value="T-Shirt">T-Shirt
</select>

Website:<input type="text" size="50" value="" name="web" id="web"/><input type="submit" value="Save to DB>>" name="datasub"/>
</form>

Insert.php -

  // Connect to server and select database.
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    $count = count($_POST['url_db']);
    if (isset($_POST['url_db'])) {
        for($i=0;$i<$count;$i++){

            $urllink = $_POST['url_db'][$i];
            $web = $_POST['web'];
            $cat = $_POST['cat'];

            $sql="INSERT INTO $tbl_name (web, urllink, cat) VALUES ('$web', '$urllink', '$cat')";
            if(!($result = mysql_query($sql))){
                "<BR>Error Adding!!<BR>".mysql_error();
                   exit();
            }
            header("location:index.php");
        }
    }
    ?>

情報について - カテゴリ名 (ドロップダウン リスト) と Web サイト名を含む入力ボックスを使用して、複数の URL リンクを挿入しようとしています。url_db[]-

<form action="insert.php" method="post" id="database" name="database">
<input type="text" name="url_db[]" size="150" value="http://www.google.dk/imghp?hl=da&amp;tab=wi"><br>
<input type="text" name="url_db[]" size="150" value="http://maps.google.dk/maps?hl=da&amp;tab=wl"><br>
<input type="text" name="url_db[]" size="150" value="https://play.google.com/?hl=da&amp;tab=w8"><br>
<input type="text" name="url_db[]" size="150" value="http://www.youtube.com/?gl=DK&amp;tab=w1"><br>
<input type="text" name="url_db[]" size="150" value="https://mail.google.com/mail/?tab=wm"><br><br>

<hr>Categories:<select name="cat" id="cat">
<option value="Mobile">Mobile
</option><option value="T-Shirt">T-Shirt
</option></select>
4

2 に答える 2

0

forloop 内でリダイレクトしています。ベスト プラクティスとして、このような入力を作成します

<?php
  foreach($_POST['url_link'] as $key=>$value)
  {
      echo '<input type="text" name="url_db[]" size="150" value="'.$value.'"/><br />';
  }
  ?>

次に、挿入コードは次のようになります。

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


if (isset($_POST['url_db'])) {

    print_r($_POST['url_db']) ;   // Make sure you have more than one indexes in array

 foreach($_POST['url_db'] as $key=>$urllink){

        $web = $_POST['web'];
        $cat = $_POST['cat'];

        $sql="INSERT INTO `tbl_name` (`web`, `urllink`, `cat`) VALUES ('".$web."', '".$urllink."', '".$cat."')";
        mysql_query($sql) or die("<BR>Error Adding!!<BR>".mysql_error()) ;


    }
  header("location:index.php");
 }

これで問題が解決するかどうか教えてください

于 2013-07-10T14:11:14.057 に答える