sql >> データベース >  >> RDS >> Mysql

ビューに分離されたデータを表示するときは、コンマ付きのテーブル列の値を分離する必要があります

    通常、これでexplodeを使用できますが、クリーンアップを行う必要があるため、explodeを使用するだけでは単純なアプローチです。

     $array =  array_filter( array_map('trim', explode(',', $teams ) ) );
    

    これは3つのことを行います。

    • カンマで$teamsを分解する
    • 各アイテムに対して関数を実行する配列マップ。この場合は、空白を削除するトリム
    • このitem,,のようなアイテムがある場合に備えて空のアイテムを削除する配列フィルター -ただし、array_filterはfalseの要素も削除することに注意してください および0 空のものも同様ですが、この場合はそれで十分です。

    これで、配列をマークアップに変換することは、相対性理論では簡単なはずです。

    echo '<select name="tournament_team" class="form-control" >';
    echo '<option value="">--- Select Team ---</option>';
    foreach( $array as $item ){
        if($_POST['tournament_team'] == $item){
            $selected = ' selected="selected"';
        }else{
            $selected = '';
        }
          echo '<option value="'.$item.'"'.$selected.'>'.$item.'</option>';
    }
    echo '</select>';
    

    デフォルトのアイテムを選択する必要はありません。最初にレンダリングされ、選択がない場合は、デフォルトで$selectionが選択されます。 フォームの粘着性のためだけのものであり、必要に応じて省略または変更できます。

    最後に、ここでケーシングを監視する必要があります。これは、ケーシングが混在しているため、どちらが必要かが100%わからないためです。たとえば、india vsIndia

    小文字にするには、strtolower()を使用します 最初の文字を大文字にするには、ucfirst()のみを使用します

    また、私はこれをテストしていませんが、私が作成した可能性のあるタイプミスを除いて、かなり近いはずです。



    1. 既存のデータベース上でのRailsの移行

    2. Mysql select recursiveは、複数のレベルを持つすべての子を取得します

    3. MySQLの数と日ごとのグループ化

    4. オラクルマテリアライズドビューの更新時間