[英]How to show only certain items
下面的代碼從我的數據庫中名為“url_domain”的數據庫表中獲取所有域,並將它們輸出到一個下拉列表中,用戶可以使用該下拉列表到 select 使用哪個域。
運行此代碼時我想要的是,它不應顯示列表中的所有可用域,而應僅顯示數據庫中premium_only
設置為 1 和 6 的域,列表中不應顯示其他任何內容。
如果我嘗試以下
如果我嘗試使用以下代碼,那么當我運行它時,只有將 premium_only 設置為 1 的域才會顯示,而不是 1 和 6,為什么?
if(($shortUrlDomain['premium_only'] != '1') && ($shortUrlDomain['premium_only'] != '6'))
{
continue;
}
其他東西:
數據庫布局:
Table: url_domain
id | domain | premium_only | status | date_created
---+------------------+--------------+---------+-------------------
1 | exaple.com | 1 | enabled | 2020-03-02 08:13:00
2 | exaple2.com | 0 | enabled | 2021-03-02 08:13:00
3 | exaple2.org | 0 | enabled | 2021-03-02 08:13:00
4 | text.exaple2.se | 6 | enabled | 2021-03-02 08:13:00
PHP 代碼:
<div>
<label for="shortUrlDomain"><?php echo t("short_url_domain", "Short Url Domain"); ?>:</label>
<select id="shortUrlDomain" name="shortUrlDomain" style="width: 100%;">
<?php
foreach ($shortUrlDomains AS $k => $shortUrlDomain)
{
echo '<option value="' . (int) $k . '"';
// selected option
if ($k == (int) $_REQUEST['shortUrlDomain']) {
echo ' SELECTED';
}
echo '>';
echo $shortUrlDomain['domain'];
if($disabled == true) {
echo ' ('.safeOutputToScreen(t('unavailable', 'unavailable')).')';
}
'</option>';
}
echo '</optgroup>';
?>
</select>
</div>
// get base urls
$shortUrlDomains = getShortUrlDomains();
static function getShortUrlDomain($domainId)
{
// get base urls
$shortUrlDomains = getShortUrlDomains();
if(!isset($shortUrlDomains[$domainId]))
{
return _CONFIG_SITE_PROTOCOL.'://'._CONFIG_SITE_FULL_URL;
}
return _CONFIG_SITE_PROTOCOL.'://'.$shortUrlDomains[$domainId]['domain'];
}
更好的方法是 select SQL 中唯一想要的字段,但如果你不能或者你想保留所有結果以供下次在腳本中使用,你可以在循環中檢查結果是否與以下值匹配:
if ( in_array( $shortUrlDomain['premium_only'], [1,6] ) ) {
//result is in array [1,6] so you can write your select options here
....
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.