簡體   English   中英

如何在數據庫中將兩個數組的值一起插入

[英]how to insert value of two arrays together in database

在我的表格中,我有四個復選框,每個復選框都有一個用於說明的文本框

<form action="" method="post">
    <input type="checkbox" name="days[]" value="Sunday"/>Sunday 
    <input type="text" name="description[]" /><br/>
    <input type="checkbox" name="days[]" value="Monday"/>Monday
    <input type="text" name="description[]" /><br/>
    <input type="checkbox" name="days[]" value="Tuesday"/>Tuesday
    <input type="text" name="description[]" /><br/>
    <input type="checkbox" name="days[]" value="Wednesday"/>Wednesday
    <input type="text" name="description[]" />
    <input type="submit" name="submit" value="submit">
</form>

用戶在這里可以選擇任何文本框並可以寫其描述...現在在插入時...我只想插入那些選中了復選框的值...

例如:如果我選擇星期一和星期二,則星期一和星期二應與他們的注意事項文本框一起插入。...我的問題是,當我提交時,復選框值會正確,但是僅插入單個描述... 。這是mmy php腳本...

if(isset($_POST["submit"]))
{
    for($i=0;$i<count($_POST["days"]);$i++)
    {
        $dayz=$_POST["days"][$i];    
        $description=$_POST["description"][$i];      

        mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");    
    }   
}
?>

有人可以幫忙嗎?

首先,為什么不讓您的生活更輕松? 並給他們一個普通的非數組名稱?

你能做的是

if ((isset($_POST["days"]) && isset($_POST["description"])) {
 $days = $_POST["days"];
 $desc = $_POST["description"];

 $len = count($days);

 for ($i = 0; $i <= $len-1; $i++) {
    $noID = filter_var($days[$i], FILTER_SANITIZE_NUMBER_INT);
    echo $days[$noID] . " " . $desc[$noID];
 }
}

檢查是否適合您:)

經過測試和工作:

HTML

 <input type="checkbox" name="days[0][day]" value="Sunday"/>Sunday  <input type="text" name="days[0][value]" />
    <br/><input type="checkbox" name="days[1][day]" value="Monday"/>Monday  <input type="text" name="days[1][value]" />
<br/><input type="checkbox" name="days[2][day]" value="Tuesday"/>Tuesday  <input type="text" name="days[2][value]" />
  <br/><input type="checkbox" name="days[3][day]" value="Wednesday"/>Wednesday      <input type="text" name="days[3][value]" />

PHP

<?PHP
 $arr = $_POST["days"];
 for ($i = 0; $i < count($arr); $i++) {
    if (!empty($arr[$i]['day'])) {
    echo $arr[$i]['day'] . " and.... its value is " . $arr[$i]['value'];
    }
 }
?>

在PHP中

<?php
if (isset($_POST['chk_group'])) {
    $dayArray = $_POST['days'];
    $decArray =$_POST['description'];
    for ($i=0; $i<count($dayArray); $i++) {
        $dayz=$dayArray[$i];
        $description=$decArray[$i];
        mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')"); 
    }
}
?>

嘗試在表單中使用description[dayname]並在處理中使用$description=$_POST["description"][$dayz] ,則存在數組索引問題,因為如果未選中,則不會發送復選框。

 here i my form i am having four checkboxes with each having a textbox for its description

       <form action="" method="post">

         <input type="checkbox" name="days[]" value="Sunday"/>Sunday  <input type="text" name="description[Sunday]" />
            <br/><input type="checkbox" name="days[]" value="Monday"/>Monday  <input type="text" name="description[Monday]" />
        <br/><input type="checkbox" name="days[]" value="Tuesday"/>Tuesday  <input type="text" name="description[Tuesday  ]" />
          <br/><input type="checkbox" name="days[]" value="Wednesday"/>Wednesday      <input type="text" name="description[Wednesday]" />

      <input type="submit" name="submit" value="submit">
    </form>

和php:if(isset($ _ POST [“ submit”])){

   for($i=0;$i<count($_POST["days"]);$i++)
    {
       $dayz=$_POST["days"][$i];     
  $description=$_POST["description"][$dayz];        

 mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");   
    }   
         }

這可能會有所幫助

$str = '';
for($i=0;$i<count($_POST["days"]);$i++)
{
   $dayz=$_POST["days"][$i];     
   $description=$_POST["description"][$i];
   $str .= "(".$dayz.", ".$description.")";
   if ((count($_POST["days"])-1) < $i) {
       $str .= ',';
   }         
}
mysql_query("insert into transport_two (transport_id,name) values ".$str) ;

首先用不同的名稱命名每個文本輸入和復選框。

  <form action="" method="post">
     <input type="checkbox" name="days1" value="Sunday"/>Sunday 
     <input type="text" name="days1_1" /><br/>
     <input type="checkbox" name="days2" value="Monday"/>Monday
     <input type="text" name="days2_2" /><br/>
     <input type="checkbox" name="days3" value="Tuesday"/>Tuesday
     <input type="text" name="days3_3" /><br/>
     <input type="checkbox" name="days4" value="Wednesday"/>Wednesday
     <input type="text" name="days4_4" />
    <input type="submit" name="submit" value="submit">
  </form>

使用此代碼檢查選中了哪個復選框。

<?php
 if(isset($_POST["submit"]))
  {
     for($i=0;$i<$number_of_days;$i++)
      {
       $dayz="days".$i;    
       $description=$dayz."_".$i;      
        if(isset($dayz))
         {
          mysql_query("insert into transport_two (transport_id,name) values ('$dayz','$description')");     
         }          
      }   
  }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM