如何在php中将多个数组转换为字符串

时间:2017-04-26 05:33:16

标签: php jquery html ajax

大家好,
               我从数据库获取阵列格式的所有数据我需要将该数据传递到第二个下拉列表,如(组选项值),请任何人帮助我。

这是我的PHP代码:

     <?php
    //error_reporting(0);
    $servername = "localhost";
    $username = "root";
    $password = "";
    $db = "essae";
    $data = "";
    $subcategory_id = "";
    $subcategory_name = array();
    $conn = mysqli_connect($servername, $username, $password,$db);
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
      $category= $_GET["category_id"];  
            $sql = "SELECT es_category.category_id,es_category_description.name FROM es_category INNER JOIN es_category_description ON es_category.category_id=es_category_description.category_id WHERE parent_id='$category'";    
            $result = $conn->query($sql);

            if ($result->num_rows > 1){

                $sql_getrec ="SELECT es_category.category_id AS sub_cat_id,es_category_description.name AS sub_cat_name FROM es_category INNER JOIN es_category_description ON es_category.category_id=es_category_description.category_id WHERE parent_id='$category'";

                $sub_category= $conn->query($sql_getrec);


                if ($sub_category->num_rows > 1){

                    while ($row=mysqli_fetch_array($sub_category)){

                        $subcategory_id = $row['sub_cat_id'];

                        //$subcategory_name['sub_category_name'][] = $row['sub_cat_name']; 

                        $sql_getrec = "SELECT es_product_description.name AS prod_name FROM es_product_to_category LEFT JOIN es_product_description ON es_product_description.product_id=es_product_to_category.product_id LEFT JOIN es_product ON es_product_description.product_id = es_product.product_id WHERE es_product_to_category.category_id = $subcategory_id  AND es_product.status=1";

                        $sub_product=$conn->query($sql_getrec); 

                        while ($prow=mysqli_fetch_array($sub_product)){

                            $subcategory_name['sub_category_name'][$row['sub_cat_name']]['products_name'][] = $prow['prod_name'];


                        }

                    }


                    echo "<pre>";print_r($subcategory_name);            
                } 
            }   
            else {
            $sql_getrec = "SELECT es_product_description.name FROM es_product_to_category LEFT JOIN es_product_description ON es_product_description.product_id=es_product_to_category.product_id LEFT JOIN es_product ON es_product_description.product_id = es_product.product_id WHERE es_product_to_category.category_id='$category' AND es_product.status=1";

                  $result_getrec=$conn->query($sql_getrec);             
                    while ($row=mysqli_fetch_array($result_getrec)){
                    $data .= $row['name'].",";              
            }
            $data = rtrim($data,",");

            }        

            print_r($data);
        ?>

这是我的Html代码:

<php?
 $decocedData1 = json_decode($str_json_format, TRUE);
         //print_r($decocedData1);die;
         $decode = $decocedData1;
 ?>
<div>
  <select name="category" id="category" /> 
       <option selected ="selected">Select category</option>

       <?php foreach($decode as $key => $value) { ?>

              <option value="<?php echo $value['category_id']; ?>"><?php echo $value['name']; ?></option>
              <?php } ?>
     </select>
</div>
<div><select name="category12" id="category12" />     

      </select>
</div>

这是我的j查询和ajax方法代码:

<script type="text/javascript">
    $(document).ready(function(){
        $('#category').change(function(){
        var category_id=$('#category').val();
          $.ajax({
          type: "get",
          url: 'data_product.php?category_id='+category_id,
          success: function(data) {
          var products = data.split(",");
          state_html = '';
          state_html = '<option>Please Select product</option>'
          $.each(products, function (index, productName) {
                 state_html += "<option value='"+productName+"'>"+productName+"</option>";
                });
                $('#category12').html(state_html);
            },
        });
    })
});
</script>

3 个答案:

答案 0 :(得分:0)

你可以在你的ajax的结果中各做一个jquery

$(function(){
  //sample result, this will be your ajax result....
  var products = ["Candy", "Cotton Candy", "Iced Candy"];
  
  //clear again the select element.
  $('#category12').empty();
  
  $.each(products, function(key, value) {   
       $('#category12')
           .append($("<option></option>")
                      .attr("value",value)
                      .text(value)); 
  });
})

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="category12"></select>
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以在php

中使用you should avoid using extends-based inheritance
  

PHP中的类型转换与C中的类型转换一样:它的名称   所需的类型写在变量之前的括号中   被投了。

<?php
$array = array("name", "age", "mobile", "email");
var_dump($array);
(string)$array;
var_dump($array);
?>

答案 2 :(得分:0)

这不是您的最终答案,但您可以尝试下面的代码并找出您的变量名称

 $('#category12').empty();
             $.each(data, function (index) {
                var optgroup = $('<optgroup>');
                optgroup.attr('label',data[index].name);

                 $.each(data[index].children, function (i) {
                    var option = $("<option></option>");
                    option.val(i);
                    option.text(data[index].children[i]);

                    optgroup.append(option);
                 });
                 $("#category12").append(optgroup);

             });

             $("#category12").multiselect('refresh');