我想为数据库查询客户端创建4个动态下拉过滤器。
由于我的pdo-query
从URL获取所有信息,因此我需要通过添加,更新和删除这4个参数来操纵该URL。
现在,当我手动更改URL时,所有查询都能完美运行。
我猜想使用jQuery是必经之路,但是我需要使用这种语言的大量帮助。
下拉菜单的代码如下:
<select id="dynamic_select_company"> // On change the selected option is triggered
<?php
$countcompany = $pdo->prepare( $filterkomplex1 );
$countcompany->execute(); ?>
<option value="Browse.php" selected>Choose Company...</option>
<?php while($showcompany = $countcompany->fetch()) {?>
<option
<?php
if ($_GET['Company'] == $showcompany['Company']) { ?> selected="true" <?php }; ?>
value="<?php echo $furl ?>&Company=<?php echo $showcompany['Company']?>"> // i know this will append infinity GET_Parameters
<?php echo $showcompany['Company']?> (<?php echo $showcompany['anzahl']?>) </option>
<?php };?>
</select>
<button>Delete part of string where GET-Parameter is &Company=XYZ</button>
//和其余3个副本:
<select id="dynamic_select_line"> ...
<button>Delete part of string where GET-Parameter is &Line=XYZ</button>
<select id="dynamic_select_group"> ...
<button>Delete part of string where GET-Parameter is &Group=XYZ</button>
<select id="dynamic_select_year"> ...
<button>Delete part of string where GET-Parameter is &Year=XYZ</button>
清除所有过滤器将没有问题,因为我可以简单地使href
不带参数...
我不知道下一步该怎么做。
答案 0 :(得分:2)
您可以使用http_build_query如下操作url字符串:
$url = 'Browse.php';
$data = array('Company' => 'W',
'Line' => 'X',
'Group' => 'Y',
'Year' => 'Z');
$queryString = http_build_query($data); // Company=W&Line=X&Group=Y&Year=Z
echo $url . '?' . $queryString;
或者您可以使用http-build-url,但是您需要PECL pecl_http:
echo http_build_url($url, $data, HTTP_URL_JOIN_QUERY);