【发布时间】:2020-12-21 11:14:39
【问题描述】:
我无法选择应用于<select> 标记的当前过滤器。
该代码正在填充组合框。我唯一担心的是,我找不到在页面加载后选择某个选项的方法。
正如您在第二张图片中看到的那样,过滤器有效,但选择的选项仍然是 'Select Wallet',而它应该是 'Paymaya'。
关于如何根据我点击的内容正确地将 "selected" 属性应用到 <option> 标记的任何想法。
我希望我解释得很好。 我是初学者。很抱歉代码乱七八糟。
这是我填充选择标签的代码:
<select name="filter_wallet" id="filter">
<option value="0">Select Wallet</option>
<?php
// Fetching wallets into combobox
$sql2 = "SELECT wallet_id, wallet_name FROM wallets";
$wallet = $con->query($sql2) or die($con->connect_error);
$resultWallet = $wallet->num_rows;
if($resultWallet > 0){
while($row2 = $wallet->fetch_assoc()){
?>
<option value="<?php echo $row2['wallet_id']; ?>"><?php echo $row2['wallet_name']; ?></option>
<?php }} ?>
这是我提交过滤器按钮后的代码:
$wallet_id = 0;
if(isset($_POST['submitFilter'])){
$wallet_id = $_POST['filter_wallet'];
if($wallet_id == 0){
$sql = "SELECT * FROM vw_transactions ORDER BY date DESC, time DESC";
}else{
$sql = "SELECT * FROM vw_transactions WHERE wallet_id='$wallet_id' ORDER BY date DESC, time DESC";
}
}else{
$sql = "SELECT * FROM vw_transactions ORDER BY date DESC, time DESC";
}
$transactions = $con->query($sql) or die($con->connect_error);
$resultTransaction = $transactions->num_rows;
所有结果
过滤结果
【问题讨论】:
-
干!
$wallet_id = 0; $sql = "SELECT * FROM vw_transactions ORDER BY date DESC, time DESC"; if(isset($_POST['submitFilter'])){ $wallet_id = $_POST['filter_wallet']; if($wallet_id != 0){ $sql = "SELECT * FROM vw_transactions WHERE wallet_id='$wallet_id' ORDER BY date DESC, time DESC"; } } $transactions = $con->query($sql) or die($con->connect_error); $resultTransaction = $transactions->num_rows; -
当您循环显示钱包选项时,您需要将每个id与您选择的
wallet_id进行比较,并将selected="selected"添加到匹配的选项标签中。 -
@droopsnoot 谢谢,这解释了逻辑。