我在这里检查了所有可能的解决方案,很遗憾,它无法正常工作。我的代码似乎是什么问题?

我尝试了以下方法。

网址解码(http://php.net/manual/en/function.urldecode.php

str_replace http://php.net/manual/en/function.str-replace.php

但是没有运气。

我在isset中尝试了以下方法

$accounttitle = $_GET['accounttitle'];

urlencode($_GET["accounttitle"])

$accounttitle = str_replace(" ", "", $accounttitle );

这是我的isset

  if(isset($_GET['accounttitle'])){
    $accounttitle = $_GET['accounttitle'];
  } ?>


这是我的表格

            <div class="box-header with-border">
              <!--<a href="#addnew" data-toggle="modal" class="btn btn-primary btn-sm btn-flat"><i class="fa fa-plus"></i> New</a> -->
<div class="form-group">
<?php
$sql = "SELECT accountcode, accounttitle, accounttype FROM earningsamendmentaccount";
$query = sqlsrv_query($conn, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_KEYSET));
?>
<label for="select_account_title" class="col-sm-3 control-label">Select Account Title</label>
<div class="col-sm-9">
<select class="form-control" id="select_account_title" style="text-transform:uppercase" required>
<option value="">PLEASE SELECT OPTION</option>
<?php

while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC))
{

    echo "<option value=".$row['accounttitle'].">".$row['accounttitle']."</option>";

}
  ?>
</select>
</div>
                  </div>
                </form>


这是我的剧本

$(function(){
  $('#select_account_title').change(function(){
    window.location.href = 'earnings_amendment.php?accounttitle='+$(this).val();
  });
});
</script>


我可以echo(),但不能用于带空格的值。

最佳答案

您的问题不是收到$_GET,而是您的传出链接。

<select class="form-control" id="select_account_title" style="text-transform:uppercase" required>
  <option value="">PLEASE SELECT OPTION</option>
  <?php while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)): ?>
    <option value="<?= urlencode($row['accounttitle'])?>"><?= $row['accounttitle'] ?></option>
  <?php endwhile; ?>
</select>

09-27 03:51