【问题标题】:IMPLODE data by checkbox通过复选框输入数据
【发布时间】:2016-12-19 02:18:35
【问题描述】:

我有这个界面,用户可以在其中添加一朵花

用户需要将一朵花添加到数据库中,他可以在不同的场合将它们设为一个类别(复选框)。现在内爆数据我做了这段代码:

 $occasions = implode( ';' , $_POST['reg_occassions'] );
                 $categories= implode( ';' , $_POST['reg_categories'] );

            $query = 
            "INSERT INTO tbl_flower (flower_type, website_description,florist_description,name,image,enabled,florist_choice,categories,occasions)
             VALUES ('$flowertype', '$websitedescription', '$floristdescription','$name', '$upfile', '$enabled','$floristchoice', '$categories','$occasions')";

在数据库中保存如下:

id      flower name      occasions                   categories

1        Rose            Birthday;Valentines        Bouqet;flower arrangment

现在用户也可以编辑花朵了。这是界面

问题!: 我不知道如何再次制作复选框并向他展示他检查了哪个复选框,然后他可以更改数据。我需要知道如何显示复选框以及他选中的复选框也会被选中。

谢谢,如果有人可以帮助我,我真的很感激。

编辑答案:这是复选框的界面。

【问题讨论】:

    标签: php explode implode


    【解决方案1】:

    这就是答案。感谢闪电侠!

    session_start();
    $conn = ConnectToSql();
    ?>
    <div class="table-responsive col-md-6" style="border:1px solid blue"> 
    
    
        <div class="col-md-6">Categories</div> 
        <div class="col-md-6">Occasions</div>
     <hr>
    
        <div class="col-md-6">
    <?php
        /**flower occassions **/
        $flowerCategoriesQry= "SELECT categories FROM tbl_flower where id ='$_SESSION[flower]'"; 
        $flowerResults = mysqli_query($conn, $flowerCategoriesQry) ;
        $categoriesRow =  $flowerResults->fetch_assoc();
    
    
        $resultsArray = explode(";", $categoriesRow['categories']); 
    
    
        /**All Occassions **/
        $query544="SELECT name FROM tbl_categories";
        $results544 = mysqli_query($conn, $query544);
    
    
        while ($row = $results544->fetch_assoc()) { ?> 
    
                <label class="checkbox" for="checkboxes"> 
                <?php 
                 if(in_array($row['name'],$resultsArray ))
                 {
                ?>
                     <input  type="checkbox" name="edit_categories[]" value="<?php echo $row['name'];?>" checked> <?php echo $row['name'];?> 
               <?php 
                 }
                 else{
               ?>
                     <input  type="checkbox" name="edit_categories[]" value="<?php echo $row['name'];?>" ><?php echo $row['name']; } ?>
            </label>  
    
        <?php 
             }
        ?> 
        </div>
    

    click here for code

    【讨论】:

      【解决方案2】:

      你可以这样做:

      $results = "Bouqet,flower arrangment"; //results from your database
      $resultsArray = explode(",", $results); //split the comma
      $checkValue = array("Bouqet", "flower arrangment", "other"); //your checkbox values
      $html = "";
      foreach($checkValue as $val)
      {
          if(in_array($val,$resultsArray ))
              $html .= '<input type="checkbox" name="flower" value="'.$val.'" checked>'.$val.'<br>';
          else
              $html .= '<input type="checkbox" name="flower" value="'.$val.'">'.$val.'<br>';
      }
      echo $html;
      

      Check Demo Here

      编辑:由于您的 cmets,我正在进行此编辑,您需要执行以下操作:(未测试)

      <div class="table-responsive col-md-4"> 
          <table> 
              <thead>Occasions</thead> 
      
              /**flower occassions **/
              $flowerCategoriesQry "SELECT categories FROM tbl_flower where id = 1"; //you need to change the where clause to variable
              $flowerResults = mysqli_query($conn, $flowerCategoriesQry) 
              $categoriesRow =  $flowerResults->fetch_assoc();
              $resultsArray = explode(",", $categoriesRow['categories']); 
      
      
              /**All Occassions **/
              $query544="SELECT name FROM tbl_occasions";
              $results544 = mysqli_query($conn, $query544);
      
      
              while ($row = $results544->fetch_assoc()) { ?> 
                  <div class="col-md-12"> 
                      <label class="checkbox" for="checkboxes"> 
                      <?php 
                       if(in_array($row['name'],$resultsArray ))
                       {
                      ?>
                           <input type="checkbox" name="flower" value="<?php echo $row['name'];?>" checked> <?php echo $row['name'];?> >
                     <?php }
                       else{
                     ?>
                           <input type="checkbox" name="flower" value="<?php echo $row['name'];?>" ><?php echo $row['name'];?> >
                 <?php echo} $row['name']?> </label>  
                  </div> <?php }?> 
          </table>
      

      【讨论】:

      • 问题是用户可以添加更多的场合和类别
      • 我可以进行查询以选择所有场合并将它们放入一个数组中吗?
      • 我不确定我是否明白你在说什么,请你详细说明
      • @SigmondGatt 当然,你在我的回答中看到的数组只是一个例子
      • 嘿兄弟,打扰你了,你能不能让我用查询而不是数组来摆弄我,对不起,我很自私。 (查询 SELECT * FROM tbl_occasions)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 2021-08-24
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多