簡體   English   中英

從復選框插入到MySQL-foreach語句

[英]INSERT from checkboxes to MySQL - foreach statement

在下面的代碼中,我正在從窗體插入到mysql表中

表單字段是從MySQL數據庫填充的,可以正常工作。

問題是從多個復選框中提取數據,並將每個值作為新行插入同一表“選擇”列中的userid和videoid中。

用戶ID字段已正確插入,但視頻ID未發布任何數據。

     <?php
    $con=mysqli_connect("$host", "$username",           "$password","$db_name")or die("cannot connect");//connection string  
    $user=$_POST['userid']; 
    $checkbox1=$_POST['videoid'];  
    $chk="";  

    foreach($checkbox1 as $chk1)  
       {  
          $chk .= $chk1.",";  
       }   
    $in_ch=mysqli_query($con,"INSERT INTO tbl_selection (userid, videoid) VALUES ('$user', '$chk');");  
    if($in_ch==1)  
       {  
          echo'<script>alert("Inserted Successfully")</script>';  
       }  
    else  
       {  
          echo'<script>alert("Failed To Insert")</script>';  
       }  
    }  
    ?>  
    </body>  
    </html> 

這是從mysql表填充的html表單:

 <?php
    connect to database
    ?>
    <div class="control-group">
    <?php
    $query = "SELECT * FROM video";
    $result2 = mysql_query($query);
    while ($line = mysql_fetch_array($result2, MYSQL_ASSOC)) {
    ?>
    <div class="controls"> 
        <label class="checkbox"> 
          <input type="checkbox" name="videoid" value="<?php echo $line[id]?>"><?php echo $line[title]?> 
        </label> 
      </div>
      <?php } ?> 

1)變更

<input type="checkbox" name="videoid" value="<?php echo $line[id]?>"><?php echo $line['title']?> 

<input type="checkbox" name="videoid[]" value="<?php echo $line[id]?>"><?php echo $line['title']?> 

表示多個復選框。 使用name作為array類型。 就像videoid[]

2)使用forforeach循環將多個復選框值插入表中。 首先,通過sizeof找到選中的復選框。 然后,相應地使用。

更新的代碼

<?php
$con=mysqli_connect("$host", "$username","$password","$db_name")or die("cannot connect");
$user=$_POST['userid']; 
$videoCheckBox=$_POST['videoid'];  

$checkedVideo = sizeof($videoCheckBox);

for($i=0;$i<$checkedVideo;$i++) {
    $videoId = $videoCheckBox[$i];
    $queryVideo = mysqli_query($con,"INSERT INTO `tbl_selection` (`userid`, `videoid`) VALUES ('$user', '$videoId');");  
}

if($checkedVideo == 0) {
    echo'<script>alert("Failed To Insert")</script>';  
} elseif($queryVideo) {
    echo'<script>alert("Inserted Successfully")</script>';
}

?>  
</body>  
</html> 


<div class="control-group">
    <?php
    $query = "SELECT * FROM video";
    $result2 = mysql_query($query);
    while ($line = mysql_fetch_array($result2, MYSQL_ASSOC)) {
    ?>
    <div class="controls"> 
        <label class="checkbox"> 
            <input type="checkbox" name="videoid[]" value="<?php echo $line['id']?>"><?php echo $line['title']?> 
        </label> 
    </div>
    <?php } ?> 

有關更多信息,請單擊從多維輸入表單向MySQL表插入數據。

暫無
暫無

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

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