数组仅传递第一个字符

时间:2016-06-15 21:20:05

标签: javascript php jquery html arrays

我正在使用具有多个选择下拉列表的表单,如此

<form action="testphp.php" method="get">
  <div class="col-md-6 col-sm-6">
    <h2>Dress Types</h2>
    <select class="selectpicker" multiple  name="dress[]" id="dress">
      <option value='1'>cat1</option>
      <option value='2'>cat2</option>
      <option value='3'>randcat</option>
      <option value='4'>cat3</option>
      <option value='5'>cat4</option>
      <option value='6'>cat5</option>
      <option value='7'>cat6</option>
      <option value='8'>cat7</option>
      <option value='9'>cat8</option>
      <option value='10'>cat9</option>
      <option value='11'>cat10</option>
      <option value='12'>cat11</option>
      <option value='13'>cat12</option>
      <option value='14'>cat14</option>
      <option value='15'>cat15</option>
      <option value='16'>cat16</option>
      <option value='17'>cat17</option>
    </select>
  </div>
  <input type="submit" class="btn btn-default">
</form>      

在我的testphp文件中,我有以下代码

<?php

  $lastid=3;
  $dress = array_merge(array(), $_GET['dress']);

  foreach($dress as $row){
    echo $row['dress'];
    echo '</br>'; 
  }

?>

现在结果很好,如果我们选择1-9但是在cat8值变得超过10并且现在阵列只采用第一个字符,即所有cat8-cat17中的1。我有近50个catogeries所以我现在无能为力如何将这些值传递给其他file.i我将这些值插入一个表中,并与一个常量产品ID(它的多对多关系).code用于创建查询是

if(is_array($dress)){

  $cq = "INSERT INTO catogeries (prid,catid) values ";

  $valuesArr = array();
  foreach($dress as $row){
    $dress = (int) $row['dress'];
    $prid = $lastid;

    $valuesArr[] = "('$prid','$dress')";
  }

  $cq .= implode(',', $valuesArr);            
}

我被困在这里无法找到答案,任何建议都会很棒 注意: - 我不是编程的专业人士,我是初学者,所以如果我错过了什么,请告诉我 提前谢谢你。

0 个答案:

没有答案